Działanie funkcji scanf do wczytywania tablicy
Ostatnio zmodyfikowano 2014-11-19 21:09
SMTI Temat założony przez niniejszego użytkownika |
Działanie funkcji scanf do wczytywania tablicy » 2014-11-19 20:26:10 Fragment kodu(wiem, że to on nawala, bo jak w tej postaci zkompilowałem to też nie działało): #include<iostream> #include<cstdlib> #include<cstdio> using namespace std;
int main() { int a, b; scanf( "%d", & a ); scanf( "%d", & b ); char fir[ a ], sec[ b ]; for( int i = 0; i < a; i++ ) { scanf( "%c", & fir[ i ] ); printf( "%c\n", fir[ i ] ); } for( int i = 0; i < b; i++ ) { scanf( "%c", & sec[ i ] ); printf( "%c\n", sec[ i ] ); } }
Gdy wpiszę np. 3 i 3 to scanf wczytuje 3 razy. Gdy zamieniłem scanf na std::cin to program zaczął działać, ale ja potrzebuje scanf. |
|
wilkoo13 |
» 2014-11-19 20:39:53 Zamiast prinf powinno być printf. Ale co nie działa i jak chcesz aby działało? |
|
SMTI Temat założony przez niniejszego użytkownika |
» 2014-11-19 20:43:52 ... Dobra to z printf nie ważne. A ma działać tak jak jest w algorytmie: wczytuję a i b, potem napełniam tablicę fir o liczbie komórek a i tablicę sec o liczbie komórek b
Nie działa mi to wczytywanie do tablicy |
|
Monika90 |
» 2014-11-19 20:47:12 Zamiast scanf( "%c", & fir[ i ] ); daj scanf( " %c", & fir[ i ] ); a zamiast scanf( "%c", & sec[ i ] ); daj scanf( " %c", & sec[ i ] ); |
|
wilkoo13 |
» 2014-11-19 20:50:10 |
|
SMTI Temat założony przez niniejszego użytkownika |
» 2014-11-19 20:56:41 Mogę się spytać czemu teraz to działa? (ze spacją przed %c) Jeśli nie to i tak dziękuje ^^. |
|
Monika90 |
» 2014-11-19 21:09:13 " %c" znaczy: pomijaj białe znaki i wczytaj pierwszy niebiały znak "%c" znaczy: wczytaj piewszy napotkany znak, nie ważne czy biały czy nie
Jeżeli połączysz to z faktem, że naciskanie Enter wstawia do strumienia znak przejścia do nowej linii, który jest białym znakiem, to chyba wiesz już o co chodzi... |
|
« 1 » |