Funkcja atoi i konwersja między tablicami

Qwerty
2017-01-14 13:49
Qwerty
0

Próbuję zrobić program który wczytuje kolejne cyfry liczby binarnej jako char'y do tablicy o nazwie znaki (wczytywanie kończy się podaniem liczby 5), a następnie konwertuje je na int'y za pomocą funkcji atoi, do tablicy o nazwie liczby. Program się kompiluje, ale przy podaniu cyfry 5 się wywala. Z góry dziękuję za pomoc.

#include<stdio.h>
#include<stdlib.h>
#include <string.h>

int main()
{
char znaki[100];
int liczby[100];

//wczytywanie znakow do tablicy znaki
printf("Podaj liczbe binarna a nastepnie cyfre 5:");
for(int i=0; i<100; i++)
    {
        scanf("%c", &znaki[i]);
        if(znaki[i] == '5') break;
    }
//zamiana z funkcją atoi
for(int i=0; i<100; i++){
    liczby[i] = atoi(znaki[i]);
    printf("%d", liczby[i]);
    }

}

Pozostało 580 znaków

2017-01-15 10:38

Rejestracja: 14 lat temu

Ostatnio: 21 godzin temu

0
liczby[i] = atoi(znaki[i]);

I to Ci się skompilowało? atoi oczekuje wskaźnika const char* do c-stringa, a Ty podajesz wartość char. Zresztą do zamiany cyfr na liczby wystarczy proste liczby[i] = znaki[i] - '0';

Druga pętla wypisuje 100 cyfr/liczb, a nie tyle, ile wczytała pętla pierwsza - popraw to.

Pozostało 580 znaków

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