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

[Rozdział 22] Sumowanie tablic w funkcji

Ostatnio zmodyfikowano 2014-11-20 14:18
Autor Wiadomość
luuuzik
Temat założony przez niniejszego użytkownika
[Rozdział 22] Sumowanie tablic w funkcji
» 2014-11-19 23:45:54
Witam, postanowiłem trochę pobawić się podpunktem pierwszym w zadaniu, a mianowicie: Podać 5 liczb oddzielonych od siebie spacją, od 1 do 100. Program następnie ma zliczyć tylko te liczby które są dwucyfrowe i wypisać wynik. Wszystko ma być oparte na funkcjach. No i mam głupi problem z sumowaniem tylko tych liczb, które są dwucyfrowe...

C/C++
#include <iostream>
using namespace std;

int wczytywanie( int t[], int i, int licznik )
{
    for( i = 0; i < licznik; i++ )
         cin >> t[ i ];
   
}

int wypisywanie( int t[], int i, int licznik )
{
    for( i = 0; i < licznik; i++ )
         cout << t[ i ] << endl;
   
    i++;
}

int sumowanie( int t[], int i, int licznik )
{
    int suma = 0;
    do
    {
        if( t[ i ] > 9 && t[ i ] < 100 )
        {
            for( i = 0; i < 5; i++ )
            {
                suma = suma + t[ i ];
            }
        }
    } while( i == 4 );
   
    return suma;
}

int main()
{
    int t[ 5 ], i = 0, licznik = 5, suma;
    cout << "Podaj piec liczb: " << endl;
    wczytywanie( t, 0, 5 );
    wypisywanie( t, 0, 5 );
    sumowanie( t, 0, 5 );
    cout << "Suma wynosi : " << suma << endl;
   
    return 0;
   
}
P-121037
Rashmistrz
» 2014-11-20 14:18:23
zliczyć tylko te liczby które są dwucyfrowe
Mowa o liczbach naturalnych, więc można zrobić to tak:
if( liczba > 9 && liczba < 100 )

//EDIT: Nie w tym problem. Źle skonstruowałeś funkcję "sumowanie".
Tam wystarczy jedna pętla i jeden "if",
i na dodatek możesz użyć
suma += t[ i ];
,
zamiast
suma = suma + t[ i ];
.

Możliwe że to błędnie Ci działa, ponieważ nie rozumiesz
jeszcze dokładnie jak działa zagnieżdżanie pętli, a o tym
również się dowiesz z następnych lekcji.


i wypisać wynik
Nie zapisujesz wartości zwracanej przez
funkcję "sumowanie" do zmiennej "suma":

suma = sumowanie( t, 0, 5 );


Radziłbym Ci użyć referencji, ale i tak
ją poznasz w przyszłości, jeśli dalej
będziesz kontynuować kurs.
P-121050
« 1 »
  Strona 1 z 1