Napisałem kod, który oblicza srednia arytmetyczna wartości pobranych z wiersza, który wybiera sobie użytkownik. Program działa dość dobrze (tak mi się przynajmniej wydaje). Prosiłbym o jakiekolwiek sugestie aby program uprościć (szczególnie mile widziane sugestie osób już zaawansowanych w programowaniu).
Oto kod:
Kod: Zaznacz cały
//Program oblicza średnią arytmetyczną z wartości podanych
//do tabeli o nazwie TABLICA2D. Uzytkownik ma mozliwość wyboru
//wiersza z którego chce sprawdzić średnią arytmetyczną.
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int c,i,j,k,w;
cout << "Podaj ilosc wierszy TABLICA2D: w=";
cin >> w;
cout << endl;
cout << "Podaj ilosc kolumn TABLICA2D: k=";
cin >> k;
int tablica[w][k];
int srednia[w];
for(i=0; i<w; i++){
c=0;
for(j=0; j<k; j++){
cout << endl;
cout << "Wprowadz wartosc dla TABLICA2D["<<i<<"]["<<j<<"] = ";
cin >> tablica[i][j];
c = (tablica[i][j])+c;
cout << endl;
cout << "Suma wartosci kolumn wynosi: ";
cout << c <<"
";
}
cout << endl << endl;
cout << "Dzielnik (liczba wartosci kolumn) dla sredniej z wiersza "<<i<<""
" wynosi j="<<j<<"
";
srednia[i]=c/j;}
cout << endl;
cout << "Dla ktorego wiersza chcesz sprawdzic srednia arytmetyczna?
"
"Podaj i=";
cin >> i;
cout << endl;
cout << "Srednia arytmetyczna dla wiersza "<<i<<" w tablicy TABLICA2D wynosi: ";
cout << srednia[i]<<"
";
cout << "Srednia podana zostala jako wynik dzielenia calkowitych czesci
";
cout << "podanych wartosci.";
cout << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Próbowałem dopisać do kodu instrukcję warunkową if tak aby "Suma wartości kolumn wynosiła sumę minmalnie dla dwóch wartości w tablicy tj. aby nie była liczona suma z jednej wartości.
np.
if(j>0){
cout << endl;
cout << "Suma wartosci kolumn wynosi: ";}
Niestety nie udaje mi się to i wtedy program nie działa tak jak powinien.
Pozdrawiam i z góry dziękuję za podpowiedzi.