C
Functii - problemefuncTii - PROBLEME Problema Sa se scrie o functie ce returneaza cel mai mare numar prim format din 4 cifre. Rezolvare #include <stdio.h> #include <conio.h> int maxPrim(void); void main(void) int maxPrim(void) if(estePrim==1)return n; } Problema Sa se scrie o functie ce returneaza primul numar prim din intervalul [N1, N2]. Daca nu exista nici un numar prim in acest interval, functia returneaza -1. Rezolvare #include <stdio.h> #include <conio.h> int primulPrim(int N1, int N2); void main(void) int primulPrim(int N1, int N2) if(estePrim==1)return n; } //daca se ajunge aici, nu este nici un numar prim: return -1; Problema Sa se scrie o functie ce calculeaza c.m.m.d.c. a trei numere intregi a, b, c. Pentru calculul c.m.m.d.c. se va folosi algoritmul lui Euclid: cmmdc(a,b)=cmmdc(a-b,b) daca a>b =cmmdc(b-a,a) daca b>a =a daca a=b . Rezolvare #include <stdio.h> #include <conio.h> int cmmdc3(int,int,int); int cmmdc(int,int); void main(void) int cmmdc(int a, int b) int cmmdc3(int a, int b, int c) Problema Sa se scrie o functie ce returneaza numarul de vocale dintr-un sir de caractere. Rezolvare
#include <stdio.h> #include <conio.h> #include <string.h> int nrVoc(char *s); void main(void) int nrVoc(char *s) Problema Sa se scrie o functie care are ca parametru de intrare un numar intreg N si care scoate ca rezultat un sir de N caractere, litere mici, toate diferite intre ele. Se considera N in gama 1..10. Exemplu: N=5 Sir rezultat: 'azvmn' Rezolvare #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> void getString(int N, char * sir); void main(void) getString(N,sir); printf('Sirul generat este:n%s',sir); getch(); void getString(int N, char * sir) if(!estePrezenta) //iese din for(;;) } //terminatorul de sir: sir[i]='0'; Problema Sa se scrie o functie ce calculeaza transpusa unei matrici. Parametrii functiei sunt: Intrari: A - matrice a carei transpusa trebuie calculata l - numarul de linii ale matricii A c - numarul de coloane ale matricii A Iesiri: B - transpusa matricii B Rezolvare #include <stdio.h> #include <conio.h> typedef int m32[3][2]; typedef int m23[2][3]; void transp(m32 A, int l, int c, m23 B); void main(void) m23 B; int i,j; clrscr(); transp(A,3,2,B); //afisare B: printf('Matricea transpusa:n'); for(i=0;i<2;i++) getch(); void transp(m32 A, int l, int c, m23 B) Problema Sa se scrie o functie ce amesteca intr-o ordine aleatoare componentele unui vector. Exemplu: A= Dupa amestecare: A= Rezolvare #include <stdio.h> #include <conio.h> #include <stdlib.h> void amestec(int A[], int dimA); void main(void) int i; clrscr(); amestec(A,7); printf('Vectorul A dupa amestecare:n'); for(i=0;i<7;i++) printf('%dn',A[i]); getch(); void amestec(int A[], int dimA) permut[0]=random(dimA); //restul elementelor permutarii: for(i=1;i<dimA;i++) //se construieste elementul permut[i]: for(;;) if(!estePrezent) } //vectorul B obtinut prin amestecarea vectorului A: for(i=0;i<dimA;i++) B[i]=A[permut[i]]; //se copiaza B in A: for(i=0;i<dimA;i++) A[i]=B[i]; Problema Sa se scrie o functie ce initializeaza o matrice 4x4 de numere intregi cu 16 numere aleatoare. Numerele pot fi 0 sau 1. Rezolvare #include <stdio.h> #include <conio.h> #include <stdlib.h> #define N 4 void init(int A[][N]); void main(void) getch(); void init(int A[][N]) Tema Sa se scrie o functie ce are ca parametri: Intrari: A - o matrice patrata de numere intregi Iesiri: l - numarul liniei din matricea A in care suma elementelor este maxima Tema Sa se scrie o functie ce realizeaza comutarea a 2 coloane dintr-o matrice patrata.
|