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

[C++] Pobieranie danych z pliku

Ostatnio zmodyfikowano 2012-11-08 09:12
Autor Wiadomość
blogther
Temat założony przez niniejszego użytkownika
[C++] Pobieranie danych z pliku
» 2012-11-07 22:53:18
mam plik Pomiary.txt i mam w nim zapisanych 20 pomiarów oto one:
15
14
20
12
13
18
5
4
7
9
0
-1
6
-4
8
-12
-2
-7
14
15
jest ich 20 po kompilacji i uruchomieniu na ekranie program dodje mi jedna liczbe 0
czyli na ekranie wyswietla mi sie 21 liczb dlaczego tak jest i skad sie bierze to dodatkowe 0?
C/C++
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <fstream>

using namespace std;

int main( int argc, char * argv[] )
{
   
    int pomiar[ 1000 ] = { 0 };
    float suma = 0, srednia = 0, wariancja = 0, odchylenie_standardowe = 0, max, min;
    int i, ilosc;
    ifstream Pomiary( "Pomiary.txt" );
    if( !Pomiary )
    {
        cout << "Nie mozna otworzyc pliku";
        getchar();
        return 1;
    }
    while( !Pomiary.eof() )
         Pomiary >> pomiar[ ilosc++ ];
   
    Pomiary.close();
    for( int i = 0; i < ilosc; i++ )
    {
        suma = suma + pomiar[ i ]; // liczymy sumę
    }
    max = pomiar[ 0 ];
    min = pomiar[ 0 ];
    cout << "Pobrane pomiary:" << endl;
    for( int i = 0; i < ilosc; i++ )
    {
        cout << pomiar[ i ] << ", ";
        if( pomiar[ i ] > max )
        {
            max = pomiar[ i ];
        }
        if( pomiar[ i ] < min )
        {
            min = pomiar[ i ];
        }
    }
    for( int i = 0; i < ilosc; i++ )
    {
        wariancja = wariancja + pow(( pomiar[ i ] - srednia ), 2 );
    }
    wariancja = wariancja / ilosc;
    srednia = suma / ilosc;
    odchylenie_standardowe = sqrt( wariancja );
    cout << "\nWartosc maksymalna: " << max << endl;
    cout << "Wartosc minimalna: " << min << endl;
    cout << "Wartosc srednia: " << srednia << endl;
    cout << "Wartosc odchylenia standardowego: " << odchylenie_standardowe << endl;
    system( "PAUSE" );
    return EXIT_SUCCESS;
}
P-68800
akwes
» 2012-11-07 23:00:19
C/C++
int i, ilosc;

C/C++
while( !Pomiary.eof() )
     Pomiary >> pomiar[ ilosc++ ];


Ile wynosi wartość zmiennej ilosc, przed pętla?
P-68801
blogther
Temat założony przez niniejszego użytkownika
» 2012-11-07 23:10:38
czyli co powinienem ja wyzerowac tak czyli
int ilosc=0;
tak?
ale jakos nie pomaga
P-68802
akwes
» 2012-11-07 23:11:43
A może po prostu sprawdzisz?
P-68803
blogther
Temat założony przez niniejszego użytkownika
» 2012-11-07 23:22:42
nie wiem co jest nie tak
P-68808
akwes
» 2012-11-07 23:34:13
A sprawdziłeś to, co sam przed chwilą proponowałeś?
P-68813
blogther
Temat założony przez niniejszego użytkownika
» 2012-11-07 23:44:05
tak
P-68814
blogther
Temat założony przez niniejszego użytkownika
» 2012-11-08 00:06:48
moze ktos mi podpowiedziec co robie nie tak
Prosze
P-68817
« 1 » 2
  Strona 1 z 2 Następna strona