Witam, mam do napisania program ktory z podanych danych wypisze ich sume w danym przedziale, oraz parametry statystyczne jak modalna, srednia etc. Ale o tamte na razie mniejsza bo obecnie głowie sie nad jedna rzecza.
Otoz po zrobieniu funkcji zliczajacej odpowiednie dane w przedzialach wypisuje ja potem w programie glownym. Niestety funkcja wypisuje jakas liczbe ktora kompletnie niewiem skad sie wziela i jak temu zaradzic.
Daje moj kod:
#include <iostream>
using namespace std;
class Zaklad1 {
public:
int tab_Z1[55]={22, 26, 27, 27, 9,
11, 29, 33, 27, 28,
30, 31, 14, 33, 30,
16, 20, 18, 34, 33,
34, 30, 29, 24, 29,
29, 27, 42, 54, 60,
52, 36, 37, 43, 57,
39, 40, 36, 50, 44,
33, 31, 42, 49, 32,
36, 41, 32, 48, 31,
26, 36, 38, 37, 38};
int przedzial_z1();
};
class Zaklad2 {
public:
int tab_Z2[65]={38, 37, 22, 31, 64,
39, 30, 26, 42, 44,
46, 41, 27, 34, 39,
16, 46, 60, 37, 36,
30, 26, 36, 51, 27,
32, 26, 20, 41, 27,
40, 44, 26, 19, 18,
54, 49, 28, 42, 43,
39, 38, 41, 50, 24,
33, 38, 36, 18, 53,
50, 59, 40, 36, 16,
36, 39, 48, 46, 58,
33, 43, 37, 44, 40};
int przedzial_z2();
};
int Zaklad1::przedzial_z1()
{
int suma_15=0;
int suma_25=0;
int suma_35=0;
int suma_45=0;
int suma_55=0;
int suma_65=0;
for (int i=0;i<55;i++)
{
if (tab_Z1[i]<15)
suma_15=suma_15+1;
else
if (tab_Z1[i]<25)
suma_25=suma_25+1;
else
if (tab_Z1[i]<35)
suma_35=suma_35+1;
else
if (tab_Z1[i]<45)
suma_45=suma_45+1;
else
if (tab_Z1[i]<55)
suma_55=suma_55+1;
else
if (tab_Z1[i]<65)
suma_65=suma_65+1;
}
cout<<"Przedzial dla Zakladu I"<<endl;
cout<<"5 - 15: "<<suma_15<<endl;
cout<<"15 - 25: "<<suma_25<<endl;
cout<<"25 - 35: "<<suma_35<<endl;
cout<<"35 - 45: "<<suma_45<<endl;
cout<<"45 - 55: "<<suma_55<<endl;
cout<<"55 - 65: "<<suma_65<<endl;
}
int Zaklad2::przedzial_z2()
{
int suma_15=0;
int suma_25=0;
int suma_35=0;
int suma_45=0;
int suma_55=0;
int suma_65=0;
for (int i=0;i<65;i++)
{
if (tab_Z2[i]<15)
suma_15=suma_15+1;
else
if (tab_Z2[i]<25)
suma_25=suma_25+1;
else
if (tab_Z2[i]<35)
suma_35=suma_35+1;
else
if (tab_Z2[i]<45)
suma_45=suma_45+1;
else
if (tab_Z2[i]<55)
suma_55=suma_55+1;
else
if (tab_Z2[i]<65)
suma_65=suma_65+1;
}
cout<<"Przedzial dla Zakladu II"<<endl;
cout<<"5 - 15: "<<suma_15<<endl;
cout<<"15 - 25: "<<suma_25<<endl;
cout<<"25 - 35: "<<suma_35<<endl;
cout<<"35 - 45: "<<suma_45<<endl;
cout<<"45 - 55: "<<suma_55<<endl;
cout<<"55 - 65: "<<suma_65<<endl;
}
int main()
{
Zaklad1 zI;
Zaklad2 zII;
//Wypisuje dane Zakladu I
cout<<"Zaklad I: ";
for (int i=0;i<55;++i)
{
if (i%5!=0)
cout<<zI.tab_Z1[i]<<" ";
else
{
cout<<"\n";
cout<<zI.tab_Z1[i]<<" ";
}
}
//Wypisuje dane Zakladu II
cout<<endl<<endl<<"Zaklad II: ";
for (int i=0;i<65;++i)
{
if (i%5!=0)
cout<<zII.tab_Z2[i]<<" ";
else
{
cout<<"\n";
cout<<zII.tab_Z2[i]<<" ";
}
}
cout<<endl<<endl<<endl<<"Podzial na 6 przedzialow od 5 do 65 i zsumowanie wartosci tych przedzialow"<<endl<<endl;
cout<<zI.przedzial_z1()<<endl<<endl;
cout<<zII.przedzial_z2()<<endl;
cout<<endl<<endl;
return 0;
}
I tak, powinno wypisac wylacznie to co jest w funkcji tzn 5-15: itd, okej wypisuje ale na samym koncu wypisuje 7znakowa liczbe.
Co jest tu nie tak i co nalezaloby poprawic? Bede bardzo wdzieczny za pomoc.
zI
to kpina, a nie czytelna nazwa, i ze zadna wartosc stala poza przypisaniem do identyfikatora nie powinna wystepowac w kodzie. Dostales informacje, ze nie rozumiesz klas i, ze masz nierowne wciecia w roznych miejscach kodu. Jakiej wiec pomocy oczekujesz? Ma ktos za ciebie myslec, czytac, czy pisac? Bo tylko te czynnosci zostaly do wykonania, zeby wywalic to z pierwszego postu i napisac jeszcze raz, tym razem z glowa.