Tablice jako argumenty funkcji+ rekurencja, INFORMATYKA


Tablice jako argumenty funkcji

#include <stdio.h>

const int MAX=5;

void drukuj(int t[]) {

for(int i=0;i<MAX;i++)

cout<<”element tablicy o indeksie:”<<i<<”jest równy:”<<t[i];

}

int main() {

int t[MAX];

for(int i=0;i<MAX;++i)

t[i]=i;

drukuj(t);

return 0;

}

Przykład 2. Zerowanie elementów tablicy w funkcji czysc(). Rozmiar tablicy podany jest w postaci dodatkowego argumentu.

void czysc(int t[], int l_elementow)

{

for(int i=0;i<l_elementow;++i) t[i]=0;

}

int main() {

int tab1[10];

int tab2[20];

czysc(tab1,10); //wypełni zerami całą tablicę tab1

czysc(tab2,15); //wypełni zerami pierwsze 15 elementów

tab2

return(0);

}}

Funkcje rekurencyjne

Funkcje rekurencyjne są to funkcje wywołujące same siebie.Jedną z takich funkcji rekurencyjnych jest funkcja obliczająca silnię z liczby. Definicja silni wygląda następująco:

0 != 1;
n != (n-1)!*n;


Rozpisując ten wzór, można zauważyć, że silnia to iloczyn kolejnych liczb mniejszych od tej liczby i tej liczby czyli 3!=1*2*3.

Więc funkcja licząca silnię danej liczby może wyglądać następująco:

int silnia(int n)
{
   if(n == 0) return 1;
   return silnia(n-1)*n; // rekurencja
}

Aby sprawdzić,jak funkcja działa, wywołujemy ją w programie:

#include <iostream>
using namespace std;

int silnia(int n)
{
   if(n == 0) return 1;
   return silnia(n-1)*n;
}

int main()
{
   int a;
   cin >> a;
   cout << silnia(a) << endl;
   return 0;
}


Przykładowe wyniki to:

0 != 1;
1 != 1;
2 != 2;
3 != 6;
4 != 24;
10 !=  3628800

Przeciążanie funkcji

C++ pozwala na przeciążanie nazw funkcji. Polega to na tym, że kilka funkcji

może jednocześnie mieć taką samą nazwę. Funkcje te muszą różnić się przyjmowanymi

argumentami, tak aby kompilator mógł wybrać odpowiednią funkcję gdy zostanie

ona wywołana:

int dodaj(int a, int b)

{

return a+b;

}

double dodaj(double a, double b)

{

return a+b;

}

int main()

{

dodaj(5,4); // dodaj(int,int)

dodaj(5.0,4); // dodaj(double,double)

return 0;

}

Przeładowania funkcji stosujemy gdy funkcje posiadaja wspólną cechę,( np. mają wypisywać coś na ekran) a mają działać na różnych obiektach (np. na zmiennych czy tablicach).

Zadania

Utwórz funkcję, która

  1. wypełnia tablicę n-elementową (n - argument funkcji)wartościami wprowadzonymi z klawiatury

  2. wyświetla tablicę w sposób: element tablicy o indeksie … wynosi…

  3. sumuje elelmenty dwóch tablic o tym samym rozmiarze

  4. do każdego parzystego elementu tablicy dodaje 2, do ujemnego dodaje -2

  5. szuka elementu, zadanego jako argument ,w tablicy

  6. szuka elementu maksymalnego w tablicy

  7. szuka elementu minimalnego w tablicy

  8. znajduje indeks pierwszego ujemnego elementu w tablicy, jeśli nie ma takiego to zwraca wartość -1

  9. sortuje tablice(porządkuje w sposób rosnący) - sortowanie Bąbelkowe

  10. oblicza dla liczby rzeczywistej wartość jej potegi przy warunku:

  11. a0 = 1

    an = a*…*a=an-1*a

    1. liczy „rozszerzoną silnię”, działając w ten sposób, że dla liczb naturalnych działa jak zwykłą silnia natomiast dla ujemnych jak w przykładzie (5)!=(-5)*(-4)*(-3)*(-2)*(-1)

    2. liczy sumę cyfr liczby naturalnej



    Wyszukiwarka

    Podobne podstrony:
    motywowanie jako jedna z funkcji zarządzania
    zmiana w przepisach jako argument w dyskursie interpretacyjnym, Zmiana doprecyzowująca” czy &b
    zmiana w przepisach jako argument w dyskursie interpretacyjnym, Zmiana doprecyzowująca” czy &b
    03 Podstawowy funkcjonowania sieci informatycznejid 4248
    2 4 Funkcje rekurencyjne
    zadania rekurencja, informatyka
    08 Funkcje rekurencjaid 7257 ppt
    Znaczenie badan funkcji w nauce o informacji
    Zasady funkcjonowania systemu informowania kierownictwa, Dokumenty(2)
    zasady funkcjonowania systemu informowania kierownictwa, Pomoce naukowe, studia, informatyka
    [lekcja 19] Przekazywanie tablic jednowymiarowych do funkcji Kurs C++ » Poziom 2
    zachomikowane notatki i wyklady, Estetyka - przedmiot nauki, Estetyka jako nauka funkcjonuje od XVII
    Wykorzystać tablice do wczytania dziesięciu lic, Informatyka HELP
    13 Funkcje boolowskie, informatyka
    funkcje trygonometryczne, Informatyka, Technikum, OB
    Zasady funkcjonowania systemu informowania kierownictwa
    informacje o budowie i funkcjonowaniu komputera, informacje o budowie i funkcjonowaniu komputera

    więcej podobnych podstron