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 » |