jestem początkujący w C, także dla niektórych moje pytanie może wydawać się banalne. Mam następujący kod:
#include
int main (void)
{
int tablica[5] = {0};
int i = 0;
tablica[2] = 3;
tablica[3] = 7;
for (i=0;i!=5;++i) {
printf ("tablica[%d]=%d\n", i, tablica[i]);
}
return 0;
}
Chciałbym zamiast na stałe przypisanych wartości 3 i 7 móc samemu wprowadzić wartości dla wybranych tablica[x]. Czy mógłby ktoś w prostu sposób podpowiedzieć jak przypisać jakąś wartość dla wybranych argumentów tablicy?
for (i=0;i!=5;++i) {
printf ("tablica[%d]=%d\n", i, tablica[i]);
Ten kawałek kodu powinien innaczej wyglądać (zamiast i != 5, daj i<5) bezpieczniej i lepiej, czasami można przeskoczyć o jedną wartość, i utkniesz w pętli nieskończonej, a dając warunek i<5 będzie poprawne dla 6,7,8,9…
Prosiłbym o jeszcze jedną wskazówkę. Zmodyfikowałem powyższy kod w którym gdzieś teraz tkwi błąd:
#include
int main (void)
{
int tablica[5] = {0};
unsigned int n;
printf("podaj numer bitu:\n");
scanf("%d", &tablica[n]);
printf ("tablica[%d]=%d\n", n, tablica[n]);
return 0;
}
Chodzi mi o to bym mógł wybrać nr bitu tablicy i przypisać jej wartość lub wybrać nr tablicy i program przypisuje z góry określoną jej wartość. Proszę jedynie o wskazówki bo sam chciałbym dojść do rozwiązania. Dla kogoś moje pytania mogą być banalne, ale ja dopiero stawiam pierwsze kroki w C. Pomocna mi w tym jest Wikibook C ale nie rozwiewa moich wszystkich wątpliwości.
Nie określiłeś zmiennej n, czyli indeksu komórki tablicy, którą chcesz zmienić. Powinieneś użyć dwóch scanfów. Jednego do wczytania n, drugiego do zmiany tablica[n].