Bercik97 Temat założony przez niniejszego użytkownika |
Tablica dwuwymiarowa, funkcja » 2017-12-13 13:51:11 Witam. Mam takie zadanko, że program pyta użytkownika o 5 liczb 3 razy i zapisuje je w tablicy dwuwymiarowej o wymiarach 3x5, a nast. mam zrobić funkcję która liczy średnią liczb z tych zbiorów, t[0][], t[1][], t[2][]. Kompilator wykrywa mi błąd ' suma+=tab[y] ; '. Chcę to zrobić za jednym razem wywołania pętli for dla wszystkich przypadków. Pomoże ktoś? Oto mój kod:
#include <stdio.h> #include <stdlib.h> #define N 5
double srednia( double, double ** );
int main() { double tab[ 3 ][ N ] = { }; double y = 0; int i, j; printf( "Podaj 5 liczb typu double do 3 zbiorow.\n" ); for( i = 0; i < 3; i++ ) { printf( "%d zbior:\n", i + 1 ); for( j = 0; j < N; j++ ) scanf( "%lf", & tab[ i ][ j ] ); } for( i = 0; i < 3; i++ ) { srednia( y, tab ); y++; } return 0; } double srednia( double y, double ** tab ) { int i; double suma = 0; for( i = 0; i < N; i++ ) { suma += tab[ y ][ i ]; } return suma /= 5; }
|
|
pekfos |
» 2017-12-13 14:02:23 Indeksuj tablice zmienną int, a nie double. |
|
Bercik97 Temat założony przez niniejszego użytkownika |
» 2017-12-13 14:10:20 Zmieniłem na inta i program wywala błąd po wpisaniu tych 15 liczb double. |
|
nanoant20 |
» 2017-12-13 16:54:47 jest double srednia( double, double ** ); powinno być double srednia( int y, double tab[][ 5 ] ); jest powinno byc jedno zakomentowć, drugie dopisać for( i = 0; i < 3; i++ ) { srednia( y, tab ); printf( "zbior %d - srednia %.2f\n", y, srednia( y, tab ) ); y++; }
|
|
Bercik97 Temat założony przez niniejszego użytkownika |
» 2017-12-13 17:05:30 @nanoant20 stary jestes moim bogiem, może zostaniesz moim mentorem? xD Dzięki =D Ps. długo uczysz się c++? Ile zajęło ci ogarnięcie tych tablic dwuwymiarowych i wskaźników bo te tablice jednowymiarowe już w miarę ogarniam ale te dwuwymiarowe tak nie bardzo. |
|
nanoant20 |
» 2017-12-13 18:50:07 spoko. To @pekfos sprecyzował błąd, ja tylko to zwizualizowałem jak przerobisz "JĘZYK ANSI C" BRIAN W. KERNIGHAN, DENNIS M. RITCHIE i "Język C Szkoła programowania" Stephen Prata (powinno ci to zając jakiś rok, wiadomo nie samym C człowiek żyje i zależy też od tempa z jaką przyswajasz sobie wiedzę). To opanjesz ANSI C, a C++ to inna bajka Tutaj jest wątek o czasie nauki http://cpp0x.pl/forum/temat/?id=3714 |
|
Bercik97 Temat założony przez niniejszego użytkownika |
» 2017-12-13 18:57:21 No właśnie kiedyś robiłem szkołę programowania Prata c++ to przerobiłem książkę do pętli i jakoś się zniechęciłem a teraz zacząłem studia od października to mam C na uczelnii kupiłem książkę prata szkoła programowania do C, to jestem własnie już w połowie książki i idzie spoko :P |
|
nanoant20 |
» 2017-12-13 19:19:07 nie ma się co zniechęcać, tylko trzeba czytac i roziązywać zadania. Praktyka czyni mistrza. Jak przerobisz Prata to następna lektura J.Grębosza "Opus Magnum", a dopiero po niej sięgnij do Prata ale do "Język C++ Szkoła programowania", chyba że wcześniej przejdziesz do C#. Sam musisz zdecydować, w którym języku chcesz programować, najważniejsze to to, zeby się nie zrażać i nie fruwać jak motylek z jednego kwiatka na drugi, bo z tego nic nie wyjdzie. |
|
« 1 » 2 |