• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd w programie

42 Warsaw Coding Academy
0 głosów
166 wizyt
pytanie zadane 11 marca 2022 w C i C++ przez Sway22 Początkujący (270 p.)
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a[5];
    int b[4][4];
    int p1 = 0;
    int c[3][3][3];
    int p2 = 0;

    for(int i=0;i<=5;i++){
        a[i] = i+1;
    }
    printf("Tablica jednowymiarowa: \n");
    for(int i=0;i<=5;i++){
        printf("a[%d]=%d [0x%lx]\n", i, a[i], &a[i]);
    }
    for(int i=0;i<=4;i++){
        for(int j=0;j<=4;j++){
            b[i][j] = p1+1;
            p1++;
        }
    }
    printf("Tablica dwuwymiarowa: \n");
    for(int i=0;i<=4;i++){
        for(int j=0;j<=4;j++){
            printf("b[%d][%d]=%d [Ox%lx]\n", i, j, b[i][j], &b[i][j]);
        }
    }
    for(int i=0;i<=3;i++){
        for(int j=0;j<=3;j++){
            for(int k=0;k<=3;k++){
                c[i][j][k] = p2+1;
                p2++;
            }
        }
    }
    printf("Tablica trojwymiarowa: \n");
    for(int i=0;i<=3;i++){
        for(int j=0;j<=3;j++){
            for(int k=0;k<=3;k++){
            printf("c[%d][%d][%d]=%d [Ox%lx]\n", i, j, k, c[i][j][k], &c[i][j][k]);
            }
        }
    }
    return 0;
}

Mam stworzyć program gdzie utworzą się trzy tablice o rozmiarach 5, 4x4 i 3x3x3 następnie wypełnia je liczbami i wypisuje na ekran ich zawartość wraz z adresami. Napisałam coś takiego, ale gdzieś jest błąd, ponieważ wyświetla mi to:

Tablica jednowymiarowa:
a[0]=1 [0x61fdd0]
a[1]=2 [0x61fdd4]
a[2]=3 [0x61fdd8]
a[3]=4 [0x61fddc]
a[4]=5 [0x61fde0]
a[5]=6 [0x61fde4]
Tablica dwuwymiarowa:
b[0][0]=1 [Ox61fd90]
b[0][1]=2 [Ox61fd94]
b[0][2]=3 [Ox61fd98]
b[0][3]=4 [Ox61fd9c]
b[0][4]=6 [Ox61fda0]     ---- zamiast 5 wpisuje 6 i to z tego samego adresu co "następna" (to powtarza sie pare razy pozniej z innymi liczbami)
b[1][0]=6 [Ox61fda0]
b[1][1]=7 [Ox61fda4]
b[1][2]=8 [Ox61fda8]
b[1][3]=9 [Ox61fdac]
b[1][4]=11 [Ox61fdb0] --
b[2][0]=11 [Ox61fdb0]
b[2][1]=12 [Ox61fdb4]
b[2][2]=13 [Ox61fdb8]
b[2][3]=14 [Ox61fdbc]
b[2][4]=16 [Ox61fdc0]
b[3][0]=16 [Ox61fdc0]
b[3][1]=17 [Ox61fdc4]
b[3][2]=18 [Ox61fdc8]
b[3][3]=19 [Ox61fdcc]
b[3][4]=21 [Ox61fdd0]
b[4][0]=21 [Ox61fdd0]
b[4][1]=22 [Ox61fdd4]
b[4][2]=23 [Ox61fdd8]
b[4][3]=24 [Ox61fddc]
b[4][4]=25 [Ox61fde0]
Tablica trojwymiarowa:
c[0][0][0]=1 [Ox61fd20]
c[0][0][1]=2 [Ox61fd24]
c[0][0][2]=3 [Ox61fd28]
c[0][0][3]=5 [Ox61fd2c]
c[0][1][0]=5 [Ox61fd2c]
c[0][1][1]=6 [Ox61fd30]
c[0][1][2]=7 [Ox61fd34]
c[0][1][3]=9 [Ox61fd38]
c[0][2][0]=9 [Ox61fd38]
c[0][2][1]=10 [Ox61fd3c]
c[0][2][2]=11 [Ox61fd40]
c[0][2][3]=17 [Ox61fd44]
c[0][3][0]=17 [Ox61fd44]
c[0][3][1]=18 [Ox61fd48]
c[0][3][2]=19 [Ox61fd4c]
c[0][3][3]=21 [Ox61fd50]
c[1][0][0]=17 [Ox61fd44]
c[1][0][1]=18 [Ox61fd48]
c[1][0][2]=19 [Ox61fd4c]
c[1][0][3]=21 [Ox61fd50]
c[1][1][0]=21 [Ox61fd50]
c[1][1][1]=22 [Ox61fd54]
c[1][1][2]=23 [Ox61fd58]
c[1][1][3]=25 [Ox61fd5c]
c[1][2][0]=25 [Ox61fd5c]
c[1][2][1]=26 [Ox61fd60]
c[1][2][2]=27 [Ox61fd64]
c[1][2][3]=33 [Ox61fd68]
c[1][3][0]=33 [Ox61fd68]
c[1][3][1]=34 [Ox61fd6c]
c[1][3][2]=35 [Ox61fd70]
c[1][3][3]=37 [Ox61fd74]
c[2][0][0]=33 [Ox61fd68]
c[2][0][1]=34 [Ox61fd6c]
c[2][0][2]=35 [Ox61fd70]
c[2][0][3]=37 [Ox61fd74]
c[2][1][0]=37 [Ox61fd74]
c[2][1][1]=38 [Ox61fd78]
c[2][1][2]=39 [Ox61fd7c]
c[2][1][3]=41 [Ox61fd80]
c[2][2][0]=41 [Ox61fd80]
c[2][2][1]=42 [Ox61fd84]
c[2][2][2]=43 [Ox61fd88]
c[2][2][3]=49 [Ox61fd8c]
c[2][3][0]=49 [Ox61fd8c]
c[2][3][1]=50 [Ox61fd90]
c[2][3][2]=51 [Ox61fd94]
c[2][3][3]=53 [Ox61fd98]
c[3][0][0]=49 [Ox61fd8c]
c[3][0][1]=50 [Ox61fd90]
c[3][0][2]=51 [Ox61fd94]
c[3][0][3]=53 [Ox61fd98]
c[3][1][0]=53 [Ox61fd98]
c[3][1][1]=54 [Ox61fd9c]
c[3][1][2]=55 [Ox61fda0]
c[3][1][3]=57 [Ox61fda4]
c[3][2][0]=57 [Ox61fda4]
c[3][2][1]=58 [Ox61fda8]
c[3][2][2]=59 [Ox61fdac]
c[3][2][3]=61 [Ox61fdb0]
c[3][3][0]=61 [Ox61fdb0]
c[3][3][1]=62 [Ox61fdb4]
c[3][3][2]=63 [Ox61fdb8]
c[3][3][3]=64 [Ox61fdbc]

co jest nie tak?

1 odpowiedź

+4 głosów
odpowiedź 11 marca 2022 przez tangarr Mędrzec (155,180 p.)
wybrane 11 marca 2022 przez Sway22
 
Najlepsza
W każdej pętli wyjeżdżasz poza zakresy tablic.
Tablica pięcioelementowa a nie posiada elementu a[5].
1
komentarz 11 marca 2022 przez Sway22 Początkujący (270 p.)
uhhh, moim błędem było, że myślałam, że przy deklaracji tablicy podajemy ostatni indeks, a nie ilość miejsc w tablicy ;) Dzięki za pomoc!

Podobne pytania

0 głosów
1 odpowiedź 257 wizyt
pytanie zadane 22 lipca 2020 w Python przez PanPrezes Obywatel (1,520 p.)
0 głosów
1 odpowiedź 442 wizyt
pytanie zadane 25 czerwca 2020 w Python przez PanPrezes Obywatel (1,520 p.)
0 głosów
4 odpowiedzi 286 wizyt

93,382 zapytań

142,382 odpowiedzi

322,539 komentarzy

62,740 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...