PWSZ w KROŚNIE |
||||
Sieciowe Systemy Informatyczne |
||||
Nazwa przedmiotu: Język C |
Nr. spraw. 9 |
|||
Członkowie zespołu:
|
Nr albumu 18931
|
Temat Deklaracja Funkcji - III
|
Gr. I |
|
|
|
|
Rok: I dzienny |
|
|
|
Ocena: |
Data realizacji: 27.05.2013 |
Data oddania: 10.06.2013 |
Teoria.
Funkcje pozwalają dzielić duże fragmenty programu na mniejsze części. Dzięki nim można korzystać z tego, co już zostało przez innych zrobione, zamiast rozpoczynać zawsze do początku. Odpowiednie funkcję ukrywają szczegóły pewnych operacji przed częściami programu, w których znajomość tych szczegółów jest zbędna.
Treść zadania (programu).
Napisz program, w którym:
- zadeklaruj funkcję LosujTablice przypisującą losowe wartości całkowite z przedziału od 1 do wartości podanej jako parametr pierwszy do tablicy podanej jako parametr drugi o rozmiarze podanym jako parametr trzeci, (przykład wywołania: LosujTablice(49, tablica1, 6);)
- zadeklaruj funkcję PokazTablice wyświetlającą poszczególne wartości elementów tablicy podanej jako parametr pierwszy o rozmiarze podanym jako parametr drugi,
- zadeklaruj funkcję SzukajMax zwracającą największą liczbę występującą w tablicy podanej jako parametr pierwszy o rozmiarze podanym jako parametr drugi,
- zadeklaruj funkcję SzukajLiczbe zwracającą ilość wystąpień w tablicy (parametr pierwszy), liczby podanej jako parametr drugi, rozmiar tablicy - parametr trzeci (przykład wywołania: wynik=SzukajLiczbe(tablica, 2, 6); ),
----------------------------------------------------------------------------------------------------------
W głównej funkcji programu, zadeklaruj tablicę tablica1, N- elementową przechowującą liczby całkowite.
W głównej funkcji programu, zadeklaruj tablicę tablica2, M- elementową przechowującą liczby całkowite.
Wywołaj wszystkie zadeklarowane funkcję: LosujTablice, PokazTablice, SzukajMax, SzukajLiczbe. Wartości parametrów: tablica - tablica1, rozmiar - 6, Zakres losowanych wartości - 10, szukana liczba - 5.
Wywołaj wszystkie zadeklarowane funkcję: LosujTablice, PokazTablice, SzukajMax, SzukajLiczbe. Wartości parametrów: tablica - tablica2, rozmiar - 20, Zakres losowanych wartości - 5, szukana liczba - 1.
Wartości zwrócone przez funkcję SzukajMax, SzukajLiczbe wyświetl na ekranie.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
void LosujTablice(int losuj,int tab[],int n)
{
int i;
for (i=0;i<n;i++)
{
tab[i]=rand()%losuj+1;
}
}
void PokazTablice(int tab[],int n)
{
int i;
for (i=0;i<n;i++)
{
printf("%d ",tab[i]);
}
}
int SzukajMax(int tab[],int n)
{
int i,max;
max=tab[0];
for (i=1;i<n;i++)
{
if (max<tab[i])
{
max=tab[i];
}
}
return max;
}
int SzukajLiczbe(int tab[],int n,int liczba)
{
int i,licznik;
licznik=0;
for (i=0;i<n;i++)
{
if (liczba==tab[i])
{
licznik=licznik+1;
}
}
return licznik;
}
main()
{
int n,m,losuj,i,liczba,losuj1,liczba1;
printf("Podaj wielkosc tablicy I: ");
scanf("%d",&n);
printf("Podaj wielkosc tablicy II: ");
scanf("%d",&m);
int tab1[n],tab2[m];
printf("Losowanie: ");
scanf("%d",&losuj);
printf("Losowanie dla tablicy II: ");
scanf("%d",&losuj1);
printf("Liczba: ");
scanf("%d",&liczba);
printf("Liczba dla tablicy II: ");
scanf("%d",&liczba1);
LosujTablice(losuj,tab1,n);
PokazTablice(tab1,n);
printf("MAX=%d\n",SzukajMax(tab1,n));
printf("%d znalazlo %d razy\n",liczba,SzukajLiczbe(tab1,n,liczba));
LosujTablice(losuj1,tab2,m);
PokazTablice(tab2,m);
printf("MAX=%d\n",SzukajMax(tab2,m));
printf("%d znalazlo %d razy",liczba,SzukajLiczbe(tab2,m,liczba1));
return 0;
}
Uwagi końcowe i wnioski.
Nauczyliśmy się tworzyć funkcje, pobierać tablice jako argumenty funkcji.