lab8, Laboratorium nr 8 - Przekazywanie parametrów (przez wartość i przez zmienną)


Laboratorium nr 8 - Przekazywanie parametrów (przez wartość i przez zmienną)

Teoria:

Przez wartość:

Co może być parametrem formalnym:

Co może być parametrem aktualnym:

  1. zmienna: np. f(a,b,c),

  2. literał: np. f(1,2,3)

  3. wyrażenie: np.: f(1+2, a-b, c-d).

Ograniczenia:

Przez zmienną (za pomocą referencji):

Co może być parametrem formalnym:

Co może być parametrem aktualnym:

  1. zmienna: np. f(a,b,c),

Praktyka:

Uruchom poniższe programy

//przekzaywanie przez wartość

#include <vcl.h>

#include <iostream.h>

#include <conio.h>

#pragma hdrstop

void zamien(int a, int b, int c[10])

{

int p=a;

a=b;

b=p;

c[2]=100;

}

//---------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

int a,b;

int c[10]={0};

a=-2; b=3;

cout <<"Przed zamien a="<<a<<"b="<<b<<endl;

zamien(a,b,c);

cout <<"Po zamien a="<<a<<"b="<<b;

cout<<"c[2]="<<c[2];

getchar();

}

//Przekazywanie przez zmienną (referencję)

#include <vcl.h>

#include <iostream.h>

#include <conio.h>

#pragma hdrstop

void zamien(int &a, int &b, int c[10])

{

int p=a;

a=b;

b=p;

c[2]=100;

}

//---------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

int a,b;

int c[10]={0};

a=-2; b=3;

cout <<"Przed zamien a="<<a<<"b="<<b<<endl;

zamien(a,b,c);

cout <<"Po zamien a="<<a<<"b="<<b;

cout<<"c[2]="<<c[2];

getchar();

}

Jakie wnioski???????

Zadanie 1. Zadanie z wariancją, ale bez zmiennych globalnych. Użyj funkcji.

Zadanie 2. Dana jest tablica jednowymiarowa liczb rzeczywistych i pewien parametr a. Napisz program, który na podstawie tych danych utworzy 3 nowe tablice zawierające odpowiednio: liczby większe od a, mniejsze od a i równe a. Podaj także ich liczebności. Uzyj funkcji.

Zadanie 3. Dana jest tablica liczb całkowitych. Napisz program, który:



Wyszukiwarka