wskaźnik na tablice dynamiczna jako argument funkcji
Ostatnio zmodyfikowano 2016-01-06 18:34
VssQ Temat założony przez niniejszego użytkownika |
wskaźnik na tablice dynamiczna jako argument funkcji » 2016-01-06 17:49:56 #include <iostream>
using namespace std;
int zwiekszanie_wartosci(int *tab,int n) { int i;
for(i=0;i<n;i++) { tab[n]=i;
}
return tab[n];
}
int main() { int n; cout << "podaj n" << endl; cin >> n; int *tab = new int [n];
cout << "elementy tablicy maja nastepujaca wartosc" << zwiekszanie_wartosci(tab[n],n) << endl; }
Mam problem bo nie rozumiem dlaczego ten program nie działa. Kompilator wyrzuca błąd przy wywoływaniu funkcji. |
|
carlosmay |
» 2016-01-06 18:18:05 'n' to rozmiar tablicy, a indeks tablicy nie może być równy jej rozmiarowi, bo wychodzi poza zakres tej tablicy. zwiekszanie_wartosci( tab[ n ], n )
|
Tutaj 'tab[n]' przekazuje tylko wartość (na dodatek spoza zakresu tablicy) zamiast całą tablicę. |
|
VssQ Temat założony przez niniejszego użytkownika |
Dzieki ;D » 2016-01-06 18:34:27 #include <iostream>
using namespace std;
int zwiekszanie_wartosci(int *tab,int n) { int i;
for(i=0;i<n;i++) { tab=i;
}
return *tab;
}
int main() { int n; cout << "podaj n" << endl; cin >> n; int *tab = new int [n];
zwiekszanie_wartosci(tab,n);
cout << "elementy tablicy maja nastepujaca wartosc" << endl;
for(int x=0;x<n;x++) { cout << tab[x] << endl; }
delete tab;
int zatrzymaj; cout << "podaj znak aby zatrzymac" << endl; cin >> zatrzymaj; }
|
|
« 1 » |