Sunteți pe pagina 1din 2

Laborator 6 Programare Procedural (Mate)

Sptmna a 6-a
1. (1p) Scriei o funcie cu numele maxmin care cere utilizatorului s introduc n
numere de la tastatur i tiprete valoarea celui mai mare i a celui mai mic,
astfel nct secvena de program urmtoare s ruleze:
#include <stdio.h>
// aici se scrie prototipul functiei maxmin
int main() {
int n, max, min;
scanf("%d", &n);
maxmin(n);
return 0;
}
// aici se scrie definitia functiei maxmin
2. (2p) Scriei o funcie cu numele calculeazaCMMDC care returneaz cel mai
mare divizor comun a doi ntregi pozitivi m i n folosind algoritmul lui Euclid.
Scriei un program care citete un numr arbitrar de perechi de numere ntregi
pozitive i afieaz cmmdc-ul fiecrei perechi.

3. (4p) Folosind funcia din problema 2, scriei o funcie care calculeaz cmmdc-ul
a trei numere ntregi pozitive. Generalizai problema scriind o funcie care
calculeaz cmmdc-ul a n numere, unde numrul n i cele n numere se citesc
de la tastatur n funcia voastr.

4. (3p) Scriei un program care citete 5 numere ntregi i calculeaz suma celor
mai mari 3 numere dintre ele pe baza unui algoritm ce realizeaz un numr
minim de comparaii. Cte comparaii realizeaz algoritmul vostru?

5. (10p) Se citete n un numr natural i apoi n numere ntregi a1, , an. Gsii
indicii i i j, 1<=i<=j<=n, astfel nct suma ai + ai+1 + + aj este maxim. Pentru

n=20 i secvena 5 4 -10 2 0 3 1 -2 6 8 -3 -7 -9 5 8 -29 -1 -5 5 8 soluia este i=4 i


j=10.

S-ar putea să vă placă și