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

wskaźnik na tablice dynamiczna jako argument funkcji

Ostatnio zmodyfikowano 2016-01-06 18:34
Autor Wiadomość
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.
P-142998
carlosmay
» 2016-01-06 18:18:05
C/C++
tab[ n ] = i;
 
 
'n' to rozmiar tablicy, a indeks tablicy nie może być równy jej rozmiarowi, bo wychodzi poza zakres tej tablicy.

C/C++
zwiekszanie_wartosci( tab[ n ], n )
 
 Tutaj 'tab[n]' przekazuje tylko wartość (na dodatek spoza zakresu tablicy) zamiast całą tablicę.
P-143002
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;
}

P-143005
« 1 »
  Strona 1 z 1