Skocz do zawartości

C++/tablica sumowanie i nie tylko


ziiuta

Polecane posty

Witam serdecznie,

 

Stawiam dopiero pierwsze kroczki w C++, więc prosze o wyrozumiałość.

Mam do rozwiązanie zadanko, które składa się z 9 podpunktów, póki co doszłam do 4 i już pojawiły się problemy.

Byłabym bardzo wdzięczna gdybyście wytłumaczyli mi co w tym kodzie jest nie tak:

Program nie realizuje mi punktu nr 3,4

 

Najpierw zadanie

Napisać program realizujący na jednowymiarowej tablicy liczb całkowitych podane poniżej podane operacje:

 

1.Wczytanie wartości z elementów ze standardowego wejścia

2. Wypisanie wartości elementów na standardowym wyjściu

3. Obliczanie sumy i średniej arytmetycznej wszystkich elementów

4.Obliczanie sumy i średniej arytmetycznej tych elementów, które są podzielne przez liczbę k.

 

Od razu zaznaczam, że miałam zrobić to w formie menu i skorzystać z funkcji CASE;

 
#include <cstdlib>
#include <iostream>
#include <iomanip>
using namespace std;

int main(int argc, char *argv[])
{
   void menu();
   int tablica [25];
   int n, opcja, k;

       do
         { menu();
           cin>>opcja;
                    switch(opcja)
                    {            
                        case 1:
                              cout<<"Podaj liczbe elementow";
                              cin>>n;
                              for(int i=0; i<n; i++)
                              {    

                                    cin>>tablica[i];
                               } 
                                       break;   
                        case 2:
                             for( int i=0; i<n; i++)
                             {
                                  cout<<i<<","<<tablica[i]<<endl;
                                  cout<<endl;
                             }   
                                       break; 
                        case 3:

                             int suma=0;
                             for (int i=0; i<n; i++)
                             {
                                 suma=suma+tablica[i];

                              } 

                             int srednia=0;
                             for (int i=0; i<n; i++)
                             {
                                 srednia=(tablica[i]/n);

                              } 
                                         break;
                          case 4:
                             cout<< "podaj dowolna liczbe"<<k<<endl;

                             if( tablica[i]/k==0)   
                             {   int suma=0;
                                 for (int i=0; i<n; i++)
                                 {
                                     suma=suma+tablica[i];

                                  }
                              } 
                             if( tablica[i]/k==0)     
                             {   int srednia=0;
                                 for (int i=0; i<n; i++)
                                 {
                                    srednia=(tablica[i]/n);

                                  }
                              }
                                         break;                                      

                      case 10: break;           
                      default: cout<<"komunikat";

                    }
         }while(opcja!=10);





   system("PAUSE");
   return EXIT_SUCCESS;
}
   void menu()
   {
        cout<<"Lista opcji"<<endl;
        cout<<"1-wczytywanie wartosci\n";
        cout<<"2-wypisywanie wartosci\n";
        cout<<"3-obliczanie sumy i sredniej liczb\n";
        cout<<"4-obliczanie sumy i sredniej liczb podzielnych przez podana liczbe\n";

   }   

Link do komentarza
Udostępnij na innych stronach

W case 3, wyliczanie sredniej nie powinno byc w petli.

w case 4, zamien operator / na % w warunku

 

zrobiłam tak:


  case 3:

                             int suma=0;
                             for (int i=0; i<n; i++)
                             {
                                 suma=suma+tablica[i];

                              } 

                             int srednia;
                             srednia=(tablica[i]/n);

                                         break;
                          case 4:
                             cout<< "podaj dowolna liczbe"<<k<<endl;

                             if( tablica[i]%k==0)   
                             {   int suma=0;
                                 for (int i=0; i<n; i++)
                                 {
                                     suma=suma+tablica[i];

                                  }
                              } 
                             if( tablica[i]%k==0)     
                             {   
                                 int srednia;
                                 srednia=(tablica[i]/n);

                              }
                                         break; 

dalej jest źle

Link do komentarza
Udostępnij na innych stronach

ironia ciezka rzecz.... wiec napisze wprost: nie wiem co jest zle bo nie mam kompilatora, nie chce mi sie przepisac kodu, go kompilowac i testowac. Wiec napisz co jest zle, aby ludzie na tyle leniwi co ja mogli na podstawie tego pomyslec co jest nie tak. A tak z innej beczki czy probowales/probowalas uzywac debugera ? i sprawdzic krok po kroku co jest zle i dlaczego ?

Tylko nie pisz ze nie wiesz co to debuger bo nie jestem przygotowany emocjonalnie na taka odpowiedz.

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...