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

Rozdział 34 zadanie

Ostatnio zmodyfikowano 2016-02-02 18:01
Autor Wiadomość
ghost25
Temat założony przez niniejszego użytkownika
Rozdział 34 zadanie
» 2016-02-02 16:22:40
C/C++
#include <iostream>
#include <string>
#include <fstream>
int main()
{
    std::ifstream plik;
    plik.open( "D:/plik.txt" );
    int liczba, iloscliczb, suma;
    iloscliczb = 0;
    suma = 0;
    while( !plik.eof() )
    {
        plik >> liczba;
        if( !plik.fail() )
        {
            iloscliczb++;
        }
    }
    int liczby[ iloscliczb ];
    for( int i = 0; i <= iloscliczb; i++ )
    {
        plik >> liczby[ i ];
        if( !plik.fail() )
        {
            std::cout << liczby[ i ] << " ";
            suma = suma + liczby[ i ];
        }
    }
    plik.close();
    std::cout << std::endl << "Suma liczb to " << suma;
    return 0;
}

Program po uruchomieniu nigdy się nie kończy. Wygląda na to, że pierwsza pętla jest nieskończona, bo jak dodam po niej
std::cout << iloscliczb;
 to nie wykonuje tego, więc wnioskuję że nie wychodzi z tej pętli
P-144343
hit
» 2016-02-02 17:55:11
Przede wszystkim niepoprawnie tworzysz tablicę.

/kursy/Kurs-C++/Poziom-2​/Tablice-jednowymiarowe/292
P-144347
carlosmay
» 2016-02-02 18:01:47
W pierwszej pętli po błędzie wczytywania pętla kręci w miejscu.
Czyszczenie strumienia.

ew.
C/C++
while( plik >> liczba )
{
    ++iloscLiczb
}
P-144348
« 1 »
  Strona 1 z 1