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

Dany jest ciąg n-elemetowy liczb całkowitych. Napisz program, wypisujący liczby o maksymalnej sumie cyfr

Ostatnio zmodyfikowano 2010-11-14 18:03
Autor Wiadomość
Tymek
Temat założony przez niniejszego użytkownika
Dany jest ciąg n-elemetowy liczb całkowitych. Napisz program, wypisujący liczby o maksymalnej sumie cyfr
» 2010-11-14 17:51:36
Mam pewien problem z którym nie mogę sobie poradzić linijka
C/C++
for( int i = 0; i < x; i++ )
{
    for( int j = 0; j < y; j++ )
    {
        while( max )
        {
            suma += max % 10;
           
        }
    }
}

to ma na celu podzielić liczbę 144 na 1+4+4 ale gdy to kompiluje daje pusty wynik , może ktoś wie dlaczego?


C/C++
#include <iostream.h>
#include <math.h>
main()
{
   
    float tablica[ 2 ][ 2 ] = { 11, 12, 133, 144 };
    int x, y, suma = 0, max;
    cout << "Podaj ilosc kolumn" << endl;
    cin >> x;
    cout << "Podaj ilosc wierszy" << endl;
    cin >> y;
   
    for( int i = 0; i < x; i++ )
    {
        for( int j = 0; j < y; j++ )
        {
           
            if( max < tablica[ i ][ j ] )
            {
                max = tablica[ i ][ j ];
            }
        }
    }
    for( int i = 0; i < x; i++ )
    {
        for( int j = 0; j < y; j++ )
        {
            while( max )
            {
                suma += max % 10;
               
            }
        }
    }
   
   
    cout << "max=" << max << endl;
    cout << "suma najwiekszej liczby=" << suma << endl;
    system( "pause" );
}
P-24019
ison
» 2010-11-14 18:03:06
C/C++
#include <iostream.h>
#include <math.h>
main()
aa, moje oczy!

poprawione:
C/C++
#include <iostream>
#include <cmath>
int main()



to ma na celu podzielić liczbę 144 na 1+4+4 ale gdy to kompiluje daje pusty wynik , może ktoś wie dlaczego?
C/C++
while( max )
{
    suma += max % 10;
}
jeśli max będzie różne od zera to ta pętla będzie się wykonywać w nieskończoność
(zabrakło ci max/=10;)

1) nie zerujesz zmiennej max na początku programu, więc w większości przypadków wynikiem będzie ogromna liczba
2) tablice powinieneś chyba wczytywać w programie(?) a nie mieć podaną przed kompilacją
3) treść zadania (z tytułu tematu):
Dany jest ciąg n-elemetowy liczb całkowitych. Napisz program, wypisujący liczby o maksymalnej sumie cyfr
Twoje rozwiązanie jest błędne, przykładowo dla liczb 5,11 Twój program wybierze 11 a poprawnym wynikiem powinno być 5
P-24021
« 1 »
  Strona 1 z 1