Wczytywanie z pliku - min i max
Ostatnio zmodyfikowano 2016-01-17 20:33
Skipper11 Temat założony przez niniejszego użytkownika |
Wczytywanie z pliku - min i max » 2016-01-16 19:08:20 Witam, właśnie dzióbię sobie taką prostą rzecz "Napisz program, który zapisze w pliku tekstowym 100 losowych liczb oddzielonych średnikami. Następnie napisz program który wczyta powyższe liczby z pliku i wypisze ich wartość średnią, wartość maksymalną oraz wartość minimalną." No i robię teraz drugą cześć i z max i min mam problem. #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <conio.h> #include <stdio.h>
using namespace std;
int main() { FILE * plik; plik = fopen( "liczby.txt", "r" ); int liczba, srednia = 0, min = 0, max = 0; if( plik == NULL ) { cout << "Nie udalo sie otworzyc pliku" << endl; } else { for( int i = 0; i < 100; i++ ) { fscanf( plik, "%d , ", & liczba ); if( liczba < min ) { min = liczba; } srednia += liczba; } srednia = srednia / 100; cout << "Srednia podanych liczb wynosi: " << srednia << endl; cout << "MIN podanych liczb wynosi: " << min << endl; } system( "pause" ); return 0; } Wiem, ze muszę pierwszej wyczytywanej liczbie przypisać wartość minimum, a potem sprawdzać już w ifie jak tam mam. Nie wiem jednak jak to przypisanie tu zrobić, bo w pętli nie ma sensu na początku, bo za każdym razem by robiło przypisanie. |
|
carlosmay |
» 2016-01-16 21:25:25 fscanf( plik, "%d , ", & min ); for( int i = 0; i < 100; i++ ) { fscanf( plik, "%d , ", & liczba ); if( liczba < min ) { min = liczba; } srednia += liczba; } Jeżeli liczby są tylko dodatnie takie rozwiązanie może być. Jeżeli mogą być też ujemne należy pierwszą odczytaną liczbę zapisać także do zmiennej 'max'. |
|
Skipper11 Temat założony przez niniejszego użytkownika |
» 2016-01-17 20:33:35 Ach, w ten sposób. No jasne, przed pętlą przecież można było to wczytać. Dzieki wielkie ;) |
|
« 1 » |