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

Tablice i funkcje

Ostatnio zmodyfikowano 2016-11-19 17:31
Autor Wiadomość
polka260
Temat założony przez niniejszego użytkownika
Tablice i funkcje
» 2016-11-19 17:13:04
Czy kto mogłby mi wyjaśnić która zmienna odpowiada za co? Przeczytałam funkcje i tablice i rozumiem je osobno, jednak za nic nie mogę zrozumieć na czym polega wprowadzanie tablic do funkcji :/

C/C++
#include <iostream>
using namespace std;

//Funkcja wypelniania tablicy:
void uzupelnij_tablice( int t[], int rozmiar ) //Za co odpowiadaja te argumenty?
{
    cout << "Podaj " << rozmiar << " liczb: " << endl;
    int ilosc = 0; //Czemu rozmiar nie jest rowny ilosci?
    do
    {
        cin >> t[ ilosc ];
        ilosc++;
    }
    while( ilosc < rozmiar );
   
}

//Program glowny:
int main()
{
    int tablica[ 9 ];
    uzupelnij_tablice( tablica, 9 );
    int ilosc = 0;
    do
    {
        cout << tablica[ ilosc ] << ", ";
        ilosc++;
    }
    while( ilosc < 9 );
   
    return 0;
}

EDIT: nie rozumiem konkretnie tej linijki
uzupelnij_tablice( tablica, 9);
dlaczego mamy uzupełniać tablicę tablicą? :(
P-153920
mateczek
» 2016-11-19 17:31:31
C/C++
#include <iostream>
using namespace std;
int funkcja( int * wsk, int index ) {
    //funkcja przyjmuje wskaźnik
    return wsk[ index ];
}

int funkcja2( int tablica[], int offset ) {
    return *( tablica + offset ); // zwróć element przesunięty o offset od zerowego elementu tablicy.
}


// w całym tym programie jedyne co robię, to na różne sposoby dostaję się do pierwszego (licząc od zera) elementu tablicy.
//moim celem jest pokazanie jak można zamiennie traktować wskaźnik i tablicę. i zademonstrować że tak naprawdę to samo.
int main()
{
    int tablica[ 3 ] = { 1, 2, 3 };
    //tablicę można rozumieć jako wskaźnik;
    int * wsk = tablica;
   
    //konwencja tablicowa
    cout << tablica[ 1 ] << " " << wsk[ 1 ] << endl;
    //konwencja wskaźnkikowa
    cout <<*( tablica + 1 ) << " " <<*( wsk + 1 ) << endl;
   
   
   
    //teraz funkcje
    cout << funkcja( tablica, 1 ) << " " << funkcja2( tablica, 1 ) << endl;
    // więc jak widzisz tablica to tak naprawdę wskaźnik na jej zerowy element. A przesunięcie możesz podać albo dodając je do wskaźnika, albo w []
   
}


Wracając do twojego pytania
C/C++
uzupelnij_tablice( tablica, 9 ); //funkcja dostaje wskaźnik na zerowy element (bo "tablica" to nic innego jak wskaźnik).
//A jako drugi parametr podajemy liczbę określającą rozmiar tablicy.  [/code]
//twoja funkcja dostaje wskaźnik na tablice, i rzecz jasna rozmiar. Następnie wypełnia tą tablicę prawidłowymi danymi, pobranymi od użytkownika[/code]
P-153922
« 1 »
  Strona 1 z 1