ďťż

Ładny brzuch

Witam mam do napisnia program w ktorym zdefiniuje tablice o rozmiarze MxN .Elementy tablicy powinny tworzyc macierz z wartosciami tabliczki mnozenia.Potem mam zsumowac wszystkie elementy macierzy adresujac koleje elementy przy uzyciu wskaznikiow.Musze przy tym stworzyc funkcje
napełniajacą tablicę
wyświetlającą tablice
sumującą tablice+metoda wskaźnikowa adresowania elementów tablicy. Narazie napisalem cos takiego
#include <cstdlib>
#include <iostream>
#include<iomanip>

using namespace std;
const unsigned int M=10,N=10;
void fnWypelnij(int Tab[][M]);
void fnWyswietl(int Tab[][M]);

int main()
{ fnWypelnij;
cout<<fnWyswietl<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}

void fnWypelnij(int Tab[][M]){
for (int i=1;i=M;i++){
for(int j=1;j=N;j++){ Tab[i][j]=i*j;
}}}
void fnWyswietl(int Tab[][M]) {
for (int i=1;i=M;i++){
for(int j=1;j=M;i++) {
cout<<Tab[i][j];}}}

Czy wie ktos dlaczego po wywolaniu funkcji program wyswietla tylko jedna liczbe 1 z gory dzieki za pomoc.Jesli macie pomysly dotyczace dalszych podpunktow piszcie co myslicie z gory dzieki za pomoc



w jaki sposob ten program cokolwiek wypisuje?... ja bym sie zastanawial raczej czy wogole sie skompiluje, deklarujesz funkcje z parametrem i nie dosc ze wywolujesz ja BEZ niego to jeszcze w jakis paskalowy sposob, bez nawiasow ()...
pytanie 1. prosisz o pomoc czy chcesz gotowca?
pytanie 2. jezeli prosisz o gotowca, to chociaz skromnie zaproponowal bys jakas "nagrode" ;-)

edit: aha , masz to robic za pomoca wskaznikow a nie indeksowania [][] ;p
Użytkownik icek edytował ten post 25 listopad 2006, 21:56

void fnWyswietl(int Tab[][M]) {
for (int i=1;i=M;i++){
for(int j=1;j=M;i++) {
cout<<Tab[i][j];}}}


w drugiej pętli zamiast j++ masz i++, może to jest ten błąd


w drugiej pętli zamiast j++ masz i++, może to jest ten błąd
Sorki to nie to mialem tutaj wkleic program wyglada tak
#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;
}

wszystko jest ok tylko ze ostatnia czesc nie jest zrobiona za pomoca wskznikow tylko jak wspomnial kolega za pomoca indeksowania. Jak moge to zmienic




for (int i=1;i=M;i++){

Czy aby na pewno działa?
W takim przypadku w.w. pętla nie zrobi nawet jednej iteracji. Powinno być:

for (int i=1;i<=M;i++)

A co do sumy ze wskaźnikami.
W parametrze do funkcji przekazujesz adres tablicy i w pętli sumujesz liczby co 4 bajty.

-----------------------------------
I jeszcze jedna rada: rób wcięcia w kodzie bo ciężko coś z niego zrozumieć.
Użytkownik Damian.K. edytował ten post 26 listopad 2006, 15:06
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •