![]() |
||
Nagrywarki |
Pliki |
Dyski twarde |
Recenzje |
Księgarnia |
Biosy |
Artykuły |
Nagrywanie od A do Z |
Słownik |
FAQ
|
||
|
Off topic Forum poświęcone wszelkim innym tematom. |
![]() |
|
Opcje związane z dyskusją | Tryby wyświetlania |
![]() |
#1 |
Bywalec
Data rejestracji: 29.04.2004
Posty: 37
![]() |
C++ tablice
Witam mam do napisania program w ktorym zdefiniuje tablice o rozmiarze MxN Elementy tablicy maja tworzyc macierz z wartosciami tabliczki mnozenia. Nastepnie mam zsumowac wszystkie elementy macierzy adresujac kolejne elementy przy uzyciu wskaznikow. Musze przy tym stworzyc takie funkcje
-napelnij tablice(tablica,rozmiar tablicy) -wyswietl tablice(tablica, rozmiar tablicy) + formatowanie wydruku -sumuj tablice(tablica, rozmiar tablicy)+ metoda wskaznikowa adresowania elementow tablicy Napisalem cos takiego #include <cstdlib> #include <iostream> #include<iomanip> using namespace std; const int M=10,N=10; void fnWypelnij(int Tab[][N],int M){ for (int i=1;i=M;i++){ for(int j=1;j=N;j++){ Tab[i][j]=i*j; }}} void fnWyswietl(int Tab[][N],int M) { for (int i=1;i=M;i++){ for(int j=1;j=M;j++) { cout<<setw(5)<<Tab[i][j];}}} int fnSuma(int Tab[][N],int M){ int suma=0; for (int i=1;i=M;i++){ for(int j=1;j=M;j++){ suma=suma+Tab[i][j]; return(suma);}}} int main() { int tab[M][N]; int suma; fnWypelnij(tab,M); fnWyswietl(tab,M); cout<<"Suma wszystkich wyrazow tej tablicy to"<<fnSuma(tab,M)<<endl; system("PAUSE"); return EXIT_SUCCESS; } No i wszystko wychodzi jak trzeba ale nie wiem jak uzyc w funkcji suma metody wskaznikowego adresowania elementow(dlatego napisalem inaczej).Wie moze ktos jak to napisac uzywajac adresowania z gory dzieki za pomoc |
![]() |
![]() |
#ads | |
CDRinfo.pl
Reklamowiec
Data rejestracji: 29.12.2008
Lokalizacja: Sieć globalna
Wiek: 31
Posty: 1227
|
|
![]() |
![]() |
#2 |
Recydywista - Wielokrotny
Zlotowicz
CDRinfo VIP Data rejestracji: 17.01.2003
Lokalizacja: Wawa
Posty: 5,265
![]() ![]() |
W C napewno (w C++ pewnie tez) mozna tak:
tab[i] = *(tab + i) (ksiazka mowi ze wskaznik jest inteligentny i sie nie przemnaza przez sizeof(int), ale jakby nie dzialalo, to i pomnoz przez sizeof(int)) W dwuwymiarowych pewnie bedzie: tab[i][j] = *(tab + i * N + j) (jezeli bedzie zle to sprobuj z M, pozamieniaj i z j ... i jw ew. (i * N + j)*sizeof(int)) Ale kompilator przy odpowiednim stopniu wyczulenia powinien conajmniej rzucac warningi, bo tak jest "brzydko". Ostatnio zmieniany przez pawelblu : 26.11.2006 o godz. 00:37 |
![]() |
![]() |
![]() |
|
|