Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Rad sa Array u C

[es] :: C/C++ programiranje :: Rad sa Array u C

[ Pregleda: 1831 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

query
NL

Član broj: 51311
Poruke: 30
*.upc-j.chello.nl.



Profil

icon Rad sa Array u C22.10.2005. u 12:41 - pre 196 meseci
U C imam dosta problema sa ARRAY i POINTERS, pa se nadam da ce mi neko pomoci da shvatim ove kodove.
Ovaj zadatak je:
Zamisli da acStudent sadrzi neki string(ime). Treba da pcTitel naprijed od tog imena dodam, ako moze stati. Koja konstrukcija odgovara tome?

Code:

#define MAXNAAM 40
int iLt;
char acStudent [MAXNAAM + 1];
char pcTitel = “ing. “; /*5 tekens */


A
Code:

iLt = strlen (acStudent);
if (iLt <= MAXNAAM – 5)
{
strcpy (acStudent + 5, acStudent);
strcpy (acStudent, pcTitel);
}


B
Code:

iLt = strlen (acStudent);
if (iLt <= MAXNAAM – 5)
{
int iTel;
for (iTel = iLt + 5; iTel >= 5; iTel--)
{
acStudent[iTel] = acStudent[iTel – 5];
};
strcpy(acStudent, pcTitel);
}


C
Code:
iLt = strlen (acStudent);
if (iLt <= MAXNAAM – 5)
{
int iTel;
char cTemp = acStudent[0];
for (iTel = iLt + 5; iTel > 5; iTel--)
{
acStudent[iTel] = acStudent[iTel – 5];
};
strcpy(acStudent, pcTitel);
acStudent[5] = cTemp;
}

D
Code:
iLt = strlen (acStudent);
if (iLt <= MAXNAAM – 5)
{
int iTel;
for (iTel = 0; iTel <= iLt + 5; iTel++)
{
if (iTel < 5)
{
acStudent[iTel] = pcTitel[iTel];
}
else
{
acStudent[iTel] = acStudent[iTel - 5];
}
}
}


Znam da je odgovor C, ali moze li mi neko pojasniti sta rade svi ovi kodovi kod A, B, C i D. Tako cu lakse skontati razliku izmedju ovoga.

Unaprijed hvala za trud. ;)
 
Odgovor na temu

query
NL

Član broj: 51311
Poruke: 30
*.upc-j.chello.nl.



Profil

icon Re: Rad sa Array u C22.10.2005. u 12:42 - pre 196 meseci
Zadatak 2

Recimo da acLine = 'TESTA'; cEnd treba na kraju stringa acLine dodati.

Code:

#define MAXSIZE 25
int iSize;
char cEnd,
acLine[MAXSIZE + 1];


A
Code:

iSize = strlen (acLine);
if (iSize < MAXSIZE)
{
strcat (acLine, cEnd);
}


B
Code:

iSize = strlen (acLine);
if (iSize < MAXSIZE)
{
acLine = acLine + cEnd;
}


C
Code:

iSize = strlen (acLine);
if (iSize < MAXSIZE)
{
acLine[iSize] = cEnd;
acLine[iSize + 1] = ‘\0’;
}


Odgovor C. Zasto ne moze npr. biti A?
 
Odgovor na temu

[es] :: C/C++ programiranje :: Rad sa Array u C

[ Pregleda: 1831 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.