C for petlja preskace

Sakim

Zainteresovan član
Poruka
168
kod ide ovako

int i,a=0,m;
char niz[10];
char x,b;
for (i=0;i<=9;i++)
{
printf("Unesite karakter %d \n",i);
scanf("%c",&niz);
}
printf("Koji karakter vas interesuje?\n");
scanf("%c",&x);
for (i=0;i<=9;i++)
{
b=niz;

if (b==x)
{
printf("Trazeni karakter je na poziciji: %d \n",i);
a=a+1;
}
else
{
(a=a+0);
}
}
printf("Ima : %d istih karaktera u nizu \n",a);

scanf("%d",&m);
}


for petlja mi kod upisa ide unesite karakter 0 ja ga unesem,onda mi napise uneiste karakter1unesite karakter 2 zajedno i onda mogu jos samo 5 puta da ih unesem umesto 10 zasto?
 
Program ucitava 10 karatera u niz koji se mogu ponavljati onda se unosi trazeni karakter i on ispisuje gde su oni i kolko ih ima.Ja korisitm cin.Pokusavam da objasnim drugu posto oni rade c.Zadatak sam ja izmislio i ne znam sto ne radi(kod 1. for petlje posle 1. unosa preskace 1 unos,cak i kad stavim cin.
 
Program ucitava 10 karatera u niz koji se mogu ponavljati onda se unosi trazeni karakter i on ispisuje gde su oni i kolko ih ima.Ja korisitm cin.Pokusavam da objasnim drugu posto oni rade c.Zadatak sam ja izmislio i ne znam sto ne radi(kod 1. for petlje posle 1. unosa preskace 1 unos,cak i kad stavim cin.

Koliko sam ja shvatio iz onog linka, postoji problem u scanf kad oces da ucitas 1 karakter, jel kad ukucas karakter i pritisnes enter, scanf ucita i taj karacter i enter koji si ukucao.Bolje nadji neki primer zadatka na netu pa objasni drugu sta si hteo ;)
 
nije isto %c i %s (dobro, to već znamo :D ), pa možeš npr. kod nekih složenijih programa staviti samo getchar() da ti proguta svaki put to jedno \n ... kad ti bude bilo bitno unosiš li string ili char (npr. switch - case radi sa charovima ali ne radi sa stringovima)
 
hmmm
Kod:
int i,a=0,m;
char niz[10];
char x,b;
for (i=0;i<=9;i++)
{
printf("Unesite karakter %d \n",i);
scanf("%c",&niz[i]);
}
printf("Koji karakter vas interesuje?\n");
scanf("%c",&x);
for (i=0;i<=9;i++)
{
b=niz[i];

if (b==x)
{
printf("Trazeni karakter je na poziciji: %d \n",i);
a=a+1;
}
else
{
(a=a+0);
}
}
printf("Ima : %d istih karaktera u nizu \n",a);

scanf("%d",&m);
}
 

Back
Top