Czytanie z pliku.
Ostatnio zmodyfikowano 2016-04-12 23:14
arek199602 Temat założony przez niniejszego użytkownika |
Czytanie z pliku. » 2016-04-12 23:14:42 W kolejnych wierszach pliku dane.txt znajdują się liczby całkowite. Napisz program, który: •oblicza liczbę wierszy pliku (n), •alokuje tablicę liczb całkowitych wielkości n, •wczytuje dane z pliku do tablicy, •oblicza średnią arytmetyczną oraz najmniejszą i największą wartość elementów tablicy, •wyświetla na ekranie elementy tablicy w kolejności od ostatniego do pierwszego #include <stdio.h> #include <stdlib.h>
int main() { FILE * plik; char ch[ 100 ]; int n = 0, liczba, index = 0, suma = 0, min, max; int * ps; plik = fopen( "dane.txt", "r" ); if( plik == NULL ) { printf( "Nie udalo sie otworzyc pliku.\n" ); exit( 1 ); } else { printf( "Udalo sie otworzyc plik.\n" ); } while( fgets( ch, 100, plik ) != NULL ) { n++; } ps = malloc( n * sizeof( * ps ) ); while( fscanf( plik, "%d", & liczba ) != EOF ) { ps[ index ] = liczba; index++; suma += liczba; } printf( "Srednia liczb = %.2f\n",( float ) suma /( float ) n ); index = 1; min = ps[ 0 ]; for(; index < n; index++ ) { if( min > ps[ index ] ) { min = ps[ index ]; } } index = 1; max = ps[ 0 ]; for(; index < n; index++ ) { if( max < ps[ index ] ) { max = ps[ index ]; } } printf( "Max wczytana liczba = %d\n", max ); printf( "Min wczytana liczba = %d\n", min ); free( ps ); fclose( plik ); return 0; }
Nie wiem dlaczego program nie chce wejść do drugiej pętli. Proszę o pomoc. Edit:Problem rozwiązany. |
|
« 1 » |