jaresxeni 0 Napisano 26 Listopada 2013 Udostępnij Napisano 26 Listopada 2013 Witam, mam problem z programem który próbuje napisać, ma on pobrać z głównego programu tablice do funkcji i tu sie zaczynają schody, poniewaz do funkcji pobiera liczby z kosmosu . Próbowałem na dwa sposoby i w obu przypadkach taki sam efektsp1: #include<iostream> #include<math.h> using namespace std; void srednia(double *c); int main() { double T[5]; //----- Podanie cen --------- for(int a=1;a<=5;a++) { cout<<"Podaj cene "<<a<<" rzeczy \n"; cin>>T[a]; } double *tab= T; for(int a=1;a<=5;a++) { cout<<T[a]<<endl; } srednia(tab); return 0; } void srednia(double *c) { int a; double suma=0,sr=0,t[5]; for(a=1;a<=5;a++) { suma+=t[a]; } sr=suma/5.0; cout<<suma<<endl; cout<<"sred "<<sr<<endl; cout<<"ceny poniżej sredniej \n"; for(a=1;a<=5;a++) { if(t[a]<sr) cout<<"na pozycji "<<a<<" cena = "<<t[a]<<endl; } } sp2: #include<iostream> #include<math.h> using namespace std; void srednia(double c[5]); int main() { double T[5]; //----- Podanie cen --------- for(int a=1;a<=5;a++) { cout<<"Podaj cene "<<a<<" rzeczy \n"; cin>>T[a]; } for(int a=1;a<=5;a++) { cout<<T[a]<<endl; } srednia(T); return 0; } void srednia(double c[5]) { int a; double suma=0,sr=0,t[5]; for(a=1;a<=5;a++) { suma+=t[a]; } sr=suma/5.0; cout<<suma<<endl; cout<<"sred "<<sr<<endl; cout<<"ceny poniżej sredniej \n"; for(a=1;a<=5;a++) { if(t[a]<sr) cout<<"na pozycji "<<a<<" cena = "<<t[a]<<endl; } } Będe wdzięczny jak ktoś mi powie gdzie robie błędy Link to post Share on other sites
Rozwiązanie Luki91 157 Napisano 26 Listopada 2013 Rozwiązanie Udostępnij Napisano 26 Listopada 2013 (edytowane) Twój program wygląda tak, że do funkcji srednia(double *c) przekazujesz tablicę, a następnie tworzysz zupełnie nową tablicę t[5] to jej elementy sumujesz. A tablica t nie jest zainicjalizowana żadnymi wartościami i w środku ma to co akurat było w danym miejscu pamięci (czyli te "liczby z kosmosu"). Skoro funkcja przyjmuje argument c, będący tablicą, to sumuj jej elementy a nie jakieś zupełnie nowe nie wiadomo skąd Edytowane 26 Listopada 2013 przez Luki91 1 Link to post Share on other sites
jaresxeni 0 Napisano 26 Listopada 2013 Autor Udostępnij Napisano 26 Listopada 2013 Na to nie wpadłem ;/ Dzięki za szybką pomoc Link to post Share on other sites
Recommended Posts