int main()
{
int k=0, i;
int liczba[7];
printf("Podaj liczbe do wyswietlenia: ");
while(scanf("%d", &liczba[k]) != '\n'){
++k;
}
return 0;
}
Co w tym kodzie jest źle. Chce aby liczby były ładowane do tablicy od razu z bufora.
int main()
{
int k=0, i;
int liczba[7];
printf("Podaj liczbe do wyswietlenia: ");
while(scanf("%d", &liczba[k]) != '\n'){
++k;
}
return 0;
}
Co w tym kodzie jest źle. Chce aby liczby były ładowane do tablicy od razu z bufora.
A co to za warunek niby? scanf() zwraca LICZBĘ WCZYTANYCH pól a nie jakiś znak. W ogóle wczytujesz liczbę a robisz porównanie z \n
. Czego się tu niby spodziewałeś? Że co ci ten scanf zwróci?
Scanf ma zapisac liczbe do kolejnych elementow tablicy a gdy wcisne enter ma sie petla zakonczyć
Ale to W OGÓLE nie ma prawa zadziałać.
\n
A jak wczytać do tablicy liczby aby były Od razu pobierane z bufora i zapisywane do tablicy.
To byłoby problematyczne bez użycia dodatkowych bibliotek, poza ty wczytywałbyś "po znaku" tzn np. 11 to są dwa znaki 1 ;) Proponuje zrobić to tak:
int k=0;
int liczby[7];
while ((k < 7) && (scanf("%d ", &(liczby[k])) == 1)) {
k++;
}
Ale mi chodzi o to aby po kazdej cyfrze nie wciskać enter tylko dopiero po wpisaniu np. 7 cyfr jak wcisne enter, funkcja ma zapisac cyfry do tablicy
No i czemu mi nie ufasz? o_O
http://ideone.com/ZzHZjn
Ok, sorry już wiem o co chodzi
Jeszcze mam problem
W tym kodzie jak go skompiluje to po kazdej liczbie musze wcisnac enter zeby zapisało do tablicy
Mi chodzi o to ze jak wpisze np.
123456
liczby[0]=1
liczby[0]=1
liczby[0]=1
liczby[1]=2
liczby[2]=3
liczby[3]=4
Człowieku, podstawy matematyki ogarnij przed programowaniem. Nawet pytania zadać nie umiesz bo nie odróżniasz liczby od cyfry.
for(int i,ch=0;isdigit(ch=getchar());liczby[i++]=ch-'0') {}