Moim zadaniem jest zadeklarować tablicę i zapełnić ją liczbami z konsoli, potem policzyć z niej średnią, liczbę największą i najmniejszą. I to działa. To samo miałem zrobić dla tablicy gdzie wprowadzone są już konkretne liczby. Program ten wyświetla wszystko poprawnie. Ale przy kompilacji i pokazaniu wyników w konsoli otrzymuję informację że program na jakiś istotny błąd. Nie wiem o co chodzi. Gdy te 2 programy działają jednocześnie jest właśnie ten problem, gdy tylko 1 wszystko jest okej.
#include <iostream>
using namespace std;
float srednia(float* tab, unsigned int ilosc)
{
float suma=0;
for (int k=0; k<ilosc; k++)
{
suma += tab[k];
}
return suma/ilosc;
}
float srednia2(float* tablica)
{
float suma2=0;
for (int v=0; v<10; v++)
{
suma2 += tablica[v];
}
return suma2/10;
}
float max_value(float* tab, unsigned int ilosc)
{
float max=tab[0];
for (int l=0; l<ilosc; l++)
{
float x=tab[l];
if(x>max)
max=x;
}
return max;
}
float max_value2(float* tablica)
{
float max2=tablica[0];
for (int p=0; p<10; p++)
{
float z=tablica[p];
if(z>max2)
max2=z;
}
return max2;
}
float min_value(float* tab, unsigned int ilosc)
{
float min2=tab[0];
for (int w=0; w<ilosc; w++)
{
float y=tab[w];
if(y<min2)
min2=y;
}
return min2;
}
float min_value2(float* tablica)
{
float min2=tablica[0];
for (int t=0; t<10; t++)
{
float q=tablica[t];
if(q<min2)
min2=q;
}
return min2;
}
int main()
{
unsigned int ilosc;
cout<<"Podaj ile liczb chcesz wprowadzic: ";
cin>>ilosc;
cout<<endl;
float* tab = new float[ilosc];
float tablica[] = {1.5, 4.5, 23.6, 46, 27.0, 0.0, 75.6, 99.4, 79.0, 42.7};
for (int i=0; i<ilosc; i++)
{
cout<<"Podaj "<<i+1<<" liczbe: ";
cin>>tab[i];
}
cout<<"Srednia wprowadzonych liczb wynosi: "<<srednia(tab,ilosc)<<endl;
cout<<"Najwieksza liczba sposrod podanych to: "<<max_value(tab,ilosc)<<endl;
cout<<"Najmniejsza liczba sposrod podanych to: "<<min_value(tab,ilosc)<<endl<<endl;
cout<<"Srednia liczb podanych w tablicy wynosi: "<<srednia2(tablica)<<endl;
cout<<"Najwieksza liczba sposrod podanych w tablicy to: "<<max_value2(tablica)<<endl;
cout<<"Najmniejsza liczba sposrod podanych w tablicy to: "<<min_value2(tablica)<<endl;
delete [] tab;
delete [] tablica;
system ("PAUSE");
return 0;
}