Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Tablica dwuwymiarowa, funkcja

Ostatnio zmodyfikowano 2017-12-13 22:08
Autor Wiadomość
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:
C/C++
#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;
}
P-167859
pekfos
» 2017-12-13 14:02:23
Indeksuj tablice zmienną int, a nie double.
P-167860
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.
P-167861
nanoant20
» 2017-12-13 16:54:47
jest
double srednia( double, double ** );
powinno być
double srednia( int y, double tab[][ 5 ] );

jest
double y = 0;
powinno byc
int y = 0;

jedno zakomentowć, drugie dopisać
C/C++
for( i = 0; i < 3; i++ )
{
    srednia( y, tab ); // <== zakomentować no effect
    printf( "zbior %d - srednia  %.2f\n", y, srednia( y, tab ) );
    y++;
}
P-167872
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.
P-167873
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
P-167878
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
P-167879
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.
P-167882
« 1 » 2
  Strona 1 z 2 Następna strona