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

Tablica. Minimum i maksimum

Ostatnio zmodyfikowano 2015-11-18 10:08
Autor Wiadomość
heheszek
Temat założony przez niniejszego użytkownika
Tablica. Minimum i maksimum
» 2015-11-17 18:29:22
Witam. Mam problem z wyznaczeniem maksymalnej i minimalnej sumy cyfr (druga opcja) :/ Ktoś mógłby mnie naprowadzić dlaczego mi to nie działa?



C/C++
#include<iostream>
#include<fstream>
#include<cstdlib>
#include<cstdio>

int suma( long long n )
{
    if( n > 0 )
         return n % 10 + suma( n / 10 );
   
    return 0;
}

using namespace std;

int main()

{
   
    int n, a, o, i;
    float max, min;
   
   
    cout << "Autor: Niewazne\n";
    cout << "Program wykonuje osobno kolejne  operacje z podpunktow a-c z zadania\n\n";
    cout << "Prosze wybrac numer operacji\n";
    cout << "1 - a) Wyznacza ilosc liczb parzystych i nieparzystych\n";
    cout << "2 - b) Wyznacza najwieksza i najmniejsza sume cyfr\n";
   
    cin >> o;
    if( o == 1 ) {
       
        char nazwa[ 100 ];
        cout << "Podaj z jakiego pliku chcesz odczytac wyrazy." << endl;
        cin >> nazwa;
        ifstream we( nazwa );
        if( !we )
        {
            cout << "Nie mozna otworzyc pliku";
            getchar();
            return 1;
        }
        while( !we.eof() )
        {
            we >> n;
           
            if( n % 2 == 0 )
            {
               
                cout << n << " ==> jest to liczba parzysta" << endl;
                i++;
               
            }
            else
                 cout << n << "==> jest to liczba nieparzysta" << endl;
           
        }
       
        we.close();
        cout << "Jest " << i << "liczb parzystych.\n";
        cout << "Jest " << 1000 - i << "liczb nieparzystych.\n";
    }
    if( o == 2 ) {
       
        int tab[ 2000 ] = { 0 };
        int tmp = 0;
        char nazwa[ 100 ];
        cout << "Podaj z jakiego pliku chcesz odczytac wyrazy." << endl;
        cin >> nazwa;
        ifstream we( nazwa );
        if( !we )
        {
            cout << "Nie mozna otworzyc pliku";
            getchar();
            return 1;
        }
       
        while( !we.eof() )
        {
            we >> a;
            n = suma( a );
            cout << a << " Suma cyfr tej liczby wynosi " << n << endl;
            cout << endl;
        }
        {
           
            int tab[ n ];
            int i = 0;
            int n = 0;
            int max = tab[ n ];
            int min = tab[ n ];
            for( n = 0; n < i; n++ )
            {
                if( n == 0 )
                {
                   
                }
                else if( tab[ n ] > max )
                {
                    max = tab[ n ];
                   
                }
                else if( tab[ n ] < min )
                {
                    min = tab[ n ];
                }
            }
            cout << min << endl;
            cout << max << endl;
           
        } }
    system( "PAUSE" );
    return 0;
}
P-140313
darko202
» 2015-11-18 10:08:31
opcja 2

1. zastanów się nad zmienną n ?
co przechowuje, a co powinna przechowywać ?

n = suma( a );
chyba powinno być n = ilość wczytanych danych

2. zastanów się nad tab[ n ];
co tam jest, a co chciałbyś mieć ?
 w programie analizujesz tab[n] jakby coś sensownego zawierała
 a  tab[ n ]; pusta bo wyrazy z pliku wczytałeś wcześniej w powietrze



P-140330
« 1 »
  Strona 1 z 1