Učitavanje matrice
Select messages from
# through # FAQ
[/[Print]\]

Forum@DeGiorgi -> Programiranje 1 i 2

#1:  Autor/ica: jirrxj PostPostano: 22:48 čet, 15. 4. 2010
    —
Ovo je dio programa koji učitava matricu znakova:

char m[4][4];
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%c ",&m[i][j]);

Zanima me zašto je potrebno unijeti jedan element više od onog što želim unijeti, odnosno od onog što je ovdje zadano?

Da pojasnim, kad sam na ovaj način učitavala matricu sljedeće naredbe program nije htio izvršiti prije unosa još jednog znaka.

Added after 4 minutes:

A evo usput još jedno pitanje...

Može li se ovako unijeti matrica:

char m[4][4]={{.,.,A,B},{C,.,.,.},{.,D,.,E},{F,G,.,.}};

... ili pišem gluposti? Siroki osmjeh

#2:  Autor/ica: MI PostPostano: 23:20 čet, 15. 4. 2010
    —
A sto zelis unjet?
Taj dio koda ucitava matricu 4x4

#3:  Autor/ica: pmli PostPostano: 23:47 čet, 15. 4. 2010
    —
jirrxj (napisa):
scanf("%c ",&m[i][j]);

Stavi razmak ispred:
Kod:
scanf(" %c",&m[i][j]);

Tako treba staviti svaki put kad se učitava više od jednog znaka.

jirrxj (napisa):
char m[4][4]={{.,.,A,B},{C,.,.,.},{.,D,.,E},{F,G,.,.}};

Dobra ideja, samo se treba sjetiti da se znakovi pišu u jednostrukim navodnicima.
Kod:
char m[4][4]={{'.','.','A','B'},{'C','.','.','.'},{'.','D','.','E'},{'F','G','.','.'}};

#4:  Autor/ica: CobsLokacija: Geto PostPostano: 23:49 čet, 15. 4. 2010
    —
stavi razmak ispred %c u funkciji scanf,
funkcija scanf prelazak u novi red prihvaća kao normalan unos, tj. kao znak char. Kad stavis razmak ispred to se "ponisti". Malo sam cito sad po netu, al nisam uspio skužit zašto ga to "poništi" ( a ne da mi se za svaku drugu riječ u rječnik ). Nešto o tom imaš i u skripti iz programiranja ( 1 il 2 ), al je kolko se sjećam dost slabo objašnjeno.

#5:  Autor/ica: jirrxj PostPostano: 23:56 čet, 15. 4. 2010
    —
Kad pokrenem program unesem matricu i dalje u programu imam još neke naredbe. Npr., matricu koju sam unijela želim i ispisati. To radim ovako:

char m[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%c ",&m[i][j]);

for(i=0;i<4;i++){
for(j=0;j<4;j++)
printf("%c ",m[i][j]);
printf("\n");
}

Kod pokretanja programa nakon što unesem matricu,stisnem enter i očekujem da će se ispisati ista matrica,ali to se ne dogodi već moram uspisati još neki znak da bi program se program dalje izvršio.

Nadam se da je sad jasije Smile

Added after 4 minutes:

Preduhitrili ste me s odgovorima Very Happy
Hvala, sad sve štima!



Forum@DeGiorgi -> Programiranje 1 i 2


output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.

Stranica 1 / 1.

Powered by phpBB © 2001,2002 phpBB Group
Theme created by Vjacheslav Trushkin