Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Działanie funkcji scanf do wczytywania tablicy

Ostatnio zmodyfikowano 2014-11-19 21:09
Autor Wiadomość
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):
C/C++
#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.
P-121015
wilkoo13
» 2014-11-19 20:39:53
Zamiast prinf powinno być printf. Ale co nie działa i jak chcesz aby działało?
P-121016
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
P-121017
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 ] );
P-121018
wilkoo13
» 2014-11-19 20:50:10
Dodaj  
C/C++
cin.clear();
cin.sync();
 na końcu pętli for
P-121021
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 ^^.
P-121023
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...
P-121024
« 1 »
  Strona 1 z 1