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

Sumowanie elementów tablicy

Ostatnio zmodyfikowano 2014-05-06 10:52
Autor Wiadomość
kenzol
Temat założony przez niniejszego użytkownika
Sumowanie elementów tablicy
» 2014-05-05 23:45:02
Mam dość banalny (chyba) problem, ale poddaję się i proszę o pomoc. Mianowicie mam zsumować wszystkie liczby podane na wejściu. Sam definiuję ile liczb mam zsumować i potem wypisuje te liczby. Dodatkowo definiuję również ilość n cykli (testów) do wykonania. I tu pojawia się problem, bo nie wiem w jaki sposób to zrobić aby program wyświetlał n sum. Prosiłbym tylko o dopisanie brakującego kodu. Program wygląda tak:
C/C++
#include <iostream>
#include <cstdlib>

using namespace std;

int t, n, suma = 0;

int main()
{
    cin >> t;
    for( int i = 1; i <= t; i++ )
    {
        cin >> n;
        int tab[ n ];
        for( int k = 1; k <= n; k++ )
        {
            cin >> tab[ n ];
            suma = suma + tab[ n ];
        }
       
    }
    return 0;
}
P-109347
bnk120
» 2014-05-06 01:16:11
Zapytaj się wcześniej o ilość cykli, potem daj całość w pętle i wykonuj, aż osiągnie tę wartość - ilość cykli.
P-109349
kenzol
Temat założony przez niniejszego użytkownika
» 2014-05-06 06:26:55
Tutaj jest zapytanie o ilość cykli.
cin >> t
 pyta o ilość cykli właśnie, a
cin >> n
 pyta o ilość liczb w jednym cyklu. Problem polega na tym, aby na wyjściu program wyświetlił t sum.
P-109350
alixir
» 2014-05-06 08:05:07
Myślę, że twój problem jest bardziej złożony niż przypuszczasz. Można oczywiście go rozwiązać na kilka sposobów, ja pokażę ci jeden z nich, opierający się o tablice dynamiczne.

C/C++
#include <iostream>

using namespace std;

int main()
{
    int ilosc_cykli;
    int ** liczby = NULL;
    int * suma = NULL;
    int * ilosc_liczb_w_cyklu;
   
    cout << "Podaj ilosc cykli: ";
    cin >> ilosc_cykli;
    liczby = new int *[ ilosc_cykli ];
    suma = new int[ ilosc_cykli ];
    ilosc_liczb_w_cyklu = new int[ ilosc_cykli ];
    for( int i = 0; i < ilosc_cykli; i++ )
    {
        cout << "Cykl nr " << i + 1;
        cout << "\nPodaj ilosc liczb na wejsciu: ";
        cin >> ilosc_liczb_w_cyklu[ i ];
        liczby[ i ] = new int[ ilosc_liczb_w_cyklu[ i ] ];
        suma[ i ] = 0;
        for( int k = 0; k < ilosc_liczb_w_cyklu[ i ]; k++ )
        {
            cin >> liczby[ i ][ k ];
            suma[ i ] += liczby[ i ][ k ];
        }
    }
   
    for( int i = 0; i < ilosc_cykli; i++ )
    {
        cout << "\n\nCykl nr" << i + 1 << ":\n";
        cout << "Liczby: ";
        for( int k = 0; k < ilosc_liczb_w_cyklu[ i ]; k++ )
             cout << liczby[ i ][ k ] << ", ";
       
        cout << "\nSuma: " << suma[ i ];
       
    }
   
    delete[] suma;
    delete[] ilosc_liczb_w_cyklu;
    for( int i = 0; i < ilosc_cykli; i++ )
         delete[] liczby[ i ];
   
    delete[] liczby;
   
    return 0;
}
P-109351
stryku
» 2014-05-06 10:52:00
Chodzi o to, żeby wyświetlić n sum?
C/C++
int main()
{
    int temp;
    cin >> t;
    for( int i = 1; i <= t; i++ )
    {
        suma = 0;
       
        cin >> n;
       
        for( int k = 1; k <= n; k++ )
        {
            cin >> temp;
            suma += temp;
        }
       
        cout << suma << "\n";
    }
    return 0;
}

Czy te liczby też masz wyświetlać? Jak tak to w jakim formacie? Wszystkie liczby, potem ich suma? Czy jak?
P-109353
« 1 »
  Strona 1 z 1