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

Tablice

Ostatnio zmodyfikowano 2016-04-21 21:09
Autor Wiadomość
Roghalik
Temat założony przez niniejszego użytkownika
Tablice
» 2016-04-21 20:51:28
Jak to wywołać tą funkcje. Staram się zrobić zadanie 4.Napisz funkcję zwracającą tablicę z zamienionymi elementami o podanych indeksach. Wszystkie potrzebne dane funkcja pobiera jako parametry
C/C++
#include <iostream>

using namespace std;

int zamiana( int a, int b, char tablica[] )
{
   
    cout << "Podaj liczbe 1";
    cin >> tablica[ a ];
    cout << "podaj liczbe 2";
    cin >> tablica[ b ];
    swap( tablica[ a ], tablica[ b ] );
    cout << tablica[ a ] << endl;
    cout << tablica[ b ] << endl;
   
   
   
   
}

int main()
{
    zamiana( 1, 2, tablica )
   
   
    return tablica;
}
P-147509
Gibas11
» 2016-04-21 20:59:03
C/C++
int main()
{
    zamiana( 1, 2, tablica ) //Gdzie deklaracja 'tablica'?
   
   
    return tablica; //main powinno zwracać wartość typu int, to tak nie działa.
}
P-147510
Roghalik
Temat założony przez niniejszego użytkownika
» 2016-04-21 21:06:13
C/C++
#include <iostream>

using namespace std;

int zamiana( int a, int b, int tablica[] )
{
   
    cout << "Podaj liczbe 1";
    cin >> tablica[ a ];
    cout << "podaj liczbe 2";
    cin >> tablica[ b ];
    swap( tablica[ a ], tablica[ b ] );
    cout << tablica[ a ] << endl;
    cout << tablica[ b ] << endl;
   
   
   
   
}

int main()
{
    int tablica[ 2 ];
    zamiana( 1, 2, tablica );
   
   
    return 0;
}
Chyba działa
P-147512
Gibas11
» 2016-04-21 21:09:30
W tablicy dwuelementowej największy indeks to 1 (bo mamy dwa elementy, pod kluczami 0 i 1), więc aż się prosisz o błąd i naruszenie ochrony pamięci. No i nie określiłeś zawartości tablicy, więc w sumie nie bardzo wiadomo co program robi, bo zwyczajnie zamienia miejscami śmieci. Ale funkcja sama w sobie jest ok.

Funkcja powinna zamieniać miejscami elementy, pobieranie i wypisywanie danych powinieneś zrealizować poza nią.
P-147513
« 1 »
  Strona 1 z 1