Wczytywanie liczb

0

Witam, mam problem z poniższym kodem, wydawało mi się że działa dobrze , ale zatrzymuje się na 8 lub bodajże 9 elemencie i nie wiem czemu

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>



int main()
{
    int i=0,n,tab[i];
    scanf("%d",&tab[0]);
    while(tab[i]!=0)
    {
        scanf("%f",&tab[i]);
        i++;
    }

    return 0;
}

2
int i=0,n,tab[i];

Ile elementów ma tablica tab?

PS: zdecyduj się czy to C++ czy C.

2

int i=0,n,tab[i];

Tworzysz zeroelementową tablicę, a potem wczytujesz do niej dane tak, jakby była nieograniczona rozmiarem.

0

@kq:
Właśnie nie wiem, jak zadeklarować tę tablicę, żeby jej rozmiar był w zależności od tego ile liczb ktoś poda

0

Użyj std::vector

2

Nie no, on (chyba?) pisze w C… W takim razie — malloc i spółka.

0

screenshot-20201104001533.png

0

już zedytowałem

3

W takim razie rzeczywiście użyj malloc() i realloc().

0

@kq:
Dzięki, poczytałem o tym , wstawiłem do kodu i działa

0

@Althorion: Dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1