Sunteți pe pagina 1din 15

Ministerul Educatiei a Republicii Moldova Universitatea de Stat din Moldova

Facultatea Matematic si Informatic


Disciplina: Tehnicile programrii Scopul: Lucrarea de laborator

Student : Scorobogaci Ion

Chisinu 2013

De creat o functie care introduce 2 vectori x,y de la tatatura ii afiseaza , apoi adauga elementul comun in alt vector z.
#include<stdio.h> #include<conio.h> // introducem 2 vectori de elemente reale de la tastatura void citeste_vector(float v[10],int n){ int i; for(i=0;i<n;i++) { printf("Elementul %d: ",i); scanf("%f",v+i); } } // realizam intersectia multimilor reprezentate de vectorii x si y; //n si m sint elemente ale vectorilor // se creaza vectorul z ce va avea k. elemente void element_comun(float x[10],int n, float y[10],float z[10]) { int i,j; int elemente;float k; int gasit; elemente=0; //adaug elementele vectorului x in vectorul z for(i=0;i<n;i++) { for(j=0;j<n;j++) // verific daca y* este in vectorul x if(x[i]==y[j]){ gasit=1; k=x[i]; }} if(!gasit) // in caz ca nu gaseste este adaugat in vectorul z; printf("na gasit"); z[elemente++]=y[i]; printf("\n"); textcolor(RED); cprintf("Elementul comun este : %.f",k); printf("\n---------------------------------"); } void afisare(float z[10],int k){ int i=0; printf("z=["); for(i=0;i<k;i++) printf("%f",z[10]); printf("]\n"); } void main(void) { float x[10]; int n; float y[10]; float z[10] ;

clrscr(); textcolor(YELLOW); cprintf("Numarul de elemente:"); scanf("%d",&n); printf("------------------------------\n"); textcolor(YELLOW); cprintf("\n\rDati primul vector:\n\r"); citeste_vector(x,n); // citire vector x textcolor(YELLOW); cprintf("\n\rDati al doilea vector:\n\r"); citeste_vector(y,n); // citire vector y element_comun(x,n,y,z); getch(); }

De creat o functie care introduce 2 vectori x,y de la tatatura ii afiseaza , apoi adauga elementul comun in alt vector z. \\\
#include<stdio.h> #include<alloc.h> #include<conio.h> // introducem un vector de elemente reale de la tastatura // *v -poiter la adresa vectorului // *n -pointer la adresa variabilei ce retine numarul de elemente al //sirului void citeste_vector(float *v,int n){ int i; for(i=0;i<n;i++) { printf("Elementul %d: ",i); scanf("%f",v+i); } } // realizam intersectia multimilor reprezentate de vectorii x si y; //n si m sint elemente ale vectorilor // se creaza vectorul z ce va avea k. elemente

prin pointeri

void element_comun(float *x,int n, float *y,float *z) { int i,j; int elemente;float k; int gasit; elemente=0; //adaug elementele vectorului x in vectorul z for(i=0;i<n;i++) { for(j=0;j<n;j++) // verific daca y* este in vectorul x if(*(x+i)==*( y+j)){ gasit=1; k=*(x+i); }} if(!gasit) // in caz ca nu gaseste este adaugat in vectorul z; printf("na gasit"); z[elemente++]=*(y+i); printf("\n"); textcolor(RED); cprintf("Elementul comun este : %.f",k); printf("\n---------------------------------"); } void afisare(float *z,int k){ int i=0; printf("z=["); for(i=0;i<k;i++) printf("%f",*(z+i)); printf("]\n"); } void main(void) { float *x; int n; float *y; float *z ; clrscr(); textcolor(YELLOW); cprintf("Numarul de elemente:"); scanf("%d",&n); x=(float*)malloc(n*sizeof(float)); y=(float*)malloc(n*sizeof(float)); z=(float*)malloc(n*sizeof(float)); printf("------------------------------\n"); textcolor(YELLOW); cprintf("\n\rDati primul vector:\n\r");

citeste_vector(x,n); // citire vector x textcolor(YELLOW); cprintf("\n\rDati al doilea vector:\n\r"); citeste_vector(y,n); // citire vector y element_comun(x,n,y,z); free(x); getch(); } free(y); free(z); //eliberam memoria x,y,z;

Este data o matrice m x n , de creat o functie care introduce matricea, care afiseaza matricea , gaseste elementul maximal dintre acele pare pe linie , care gaseste elementul maximal dintre acele impare pe linie si suma elementelor pe linie;
#include <stdio.h> #include <conio.h> int dimm=10; // dimensiunea matricii int n, a[10][10]; void introduce (int *pn, int a[10][10]); // pn- pointer void afisare (int n,int a[10][10]); void maxpar (int n,int a[10][10]); void maximp(int n, int a[10][10]); void sumalinie(int n,int a[10][10]); int main() { clrscr(); introduce (&n,a); afisare(n,a); maxpar(n,a); maximp(n,a); sumalinie(n,a); return 1; }

void introduce (int *pn,int a[10][10]) { int i,j; printf("----------------------------------------\n"); textcolor(BLUE); cprintf("\n Dimensiunea matricii patratice: "); scanf("%d", pn); printf("----------------------------------------\n"); textcolor(RED); cprintf("Dati elementele: \n"); for (i=0;i<(*pn);i++) { textcolor(BLACK); cprintf("\n\rLinia %d :\n\r",i); for (j=0;j<(*pn);j++) scanf("%d", &a[i][j]); printf("----------------------------------------\n"); } } void afisare (int n,int a[10][10]) { int i,j; textcolor(RED); cprintf("\n Afisarea matricii \n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%d ",a[i][j]); printf("\n"); } printf("-------------------------------------------\n"); printf("Apasati o tasta pt continuare \n"); getch(); } void maxpar(int n,int a[10][10]) //f/a de cautare a nr maxim par pe linie; {int i,j,max=0; printf("Dati linia : "); scanf("%d",&a[j]); for(i=0;i<n;i++) for(j=0;j<n;j++) if(a[i][j]%2==0 &&a[i][j]>max) max=a[i][j]; printf("Maximul par este :%d",max); printf("\nPress any key!"); getch();}

void maximp(int n, int a[10][10]) //afisam maximul impar pe linie {int i,j,maxi=0; printf("---------------------------------------\n"); printf("\nDati linia : "); scanf("%d",&a[i]); for (i=0;i<n;i++)

for(j=0;j<n;j++) if(a[i][j] %2!=0 && a[i][j]>maxi ) maxi=a[i][j]; printf("-----------------------------------------\n"); printf("Maximul impar este :%d",maxi); printf("\npauza"); getch();} void sumalinie(int n,int a[10][10]) { int j,i,s=0; for(i=0;i<=n;i++) for(j=0;j<n;j++) s=s+a[i][j]; printf("-----------------------------------------\n"); printf("\nSuma liniilor este :%d",s); scanf("%d",&s); printf("-----------------------------------------\n"); printf("\n****Sfirsit****"); printf("\n-----------------------------------------\n"); getch();}

Este data o matrice m x n , de creat o functie care introduce matricea, care afiseaza matricea , gaseste elementul maximal dintre acele pare pe linie , care gaseste elementul maximal dintre acele impare pe linie si suma elementelor pe linie; \\\ prin pointeri
#include <stdio.h> #include <conio.h> #include<alloc.h> int dim=10; // dimensiunea matricii int n, *a; void introduce (int *pn, int *a); // pn- pointer catre n void afisare (int n,int *a); void maxpar (int n,int *a); void maximp(int n, int *a); void sumalinie(int n,int *a); int main() { a=(int*)malloc(n*n*sizeof(int)); clrscr(); introduce (&n,a); afisare(n,a); maxpar(n,a); maximp(n,a); sumalinie(n,a); free(a); return 1; }

void introduce (int *pn,int *a) { int i,j; printf("----------------------------------------\n"); textcolor(BLUE); cprintf("\n Dimensiunea matricii patratice: "); scanf("%d",&*pn); printf("----------------------------------------\n"); textcolor(RED); cprintf("Dati elementele: \n"); for (i=0;i<(*pn);i++) { textcolor(BLACK); cprintf("\n\rLinia %d :\n\r",i); for (j=0;j<(*pn);j++) scanf("%d", &*(a+i*n+j)); printf("----------------------------------------\n"); } } void afisare (int n,int *a) { int i,j;

textcolor(RED); cprintf("\n Afisarea matricii \n\r"); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%d ",*(a+i*n+j)); printf("\n"); } printf("-------------------------------------------\n"); printf("Apasati o tasta pt continuare \n"); free(a); getch(); } void maxpar(int n,int *a) //f/a de cautare a nr maxim par pe linie; {int i,j,max=0; printf("Dati linia : "); scanf("%d",&*(a+j)); for(i=0;i<n;i++) for(j=0;j<n;j++) if (*(a+i) %2==0 && *(a+i)<max); max=*(a+i); printf("Maximul par este :%d",max); printf("\nPress any key!"); getch();}

void maximp(int n, int *a) //afisam maximul impar pe linie {int i,j,maxi=0; printf("---------------------------------------\n"); printf("\nDati linia : "); scanf("%d",&*(a+i)); for (i=0;i<n;i++) for(j=0;j<n;j++) if (*(a+i) %2!=0 && *(a+i)>maxi ) maxi=*(a+j); printf("-----------------------------------------\n"); printf("Maximul impar este :%d",maxi); printf("\npauza"); getch();} void sumalinie(int n,int *a) { int j,i,s=0; for(i=0;i<n;i++) //for(j=0;i<n;i++) s=s+*(a+i); printf("-----------------------------------------\n"); printf("\nSuma liniilor este :%d",s); scanf("%d",&s); printf("-----------------------------------------\n"); printf("\n****Sfirsit****"); printf("\n-----------------------------------------\n");

getch();}

S se realizeze un program care conine o funcie ce citete elementele unui vector de dimensiunea n cu valori ntregi i o funcie ce returneaz produsul elementelor pare.

# include<stdio.h> #include<conio.h> #include<math.h> void citire(int n,int a[10]); void afisare(int n,int a[10]); void produs(int n,int a[10]); main() { int n,a[10],p; printf ("Dati elementele:"); printf ("n=");

scanf ("%d", &n); citire(n,a); afisare(n,a); produs(n,a); getch();} void citire(int n,int a[10]) { int i; for(i=0;i<n;i++) { printf("a[%d]=",i); scanf("%d",&a[i]);}} void afisare(int n,int a[10]) { int i;

for (i=0;i<n;i++) printf("%3d",a[i]); void produs(int n,int a[10]) { int i,p; p=1; for(i=0;i<n;i++) if(a[i]>0 && a[i]%2==0) p=p*a[i]; printf("\nProdusul elentelor pare pozitive este=%d",p); getch(); } }

S se realizeze un program care conine o funcie ce citete elementele unui vector de dimensiunea n cu valori ntregi i o funcie ce returneaz produsul elementelor pare. \\\ prin pointeri

# include<stdio.h> # include<conio.h> # include<alloc.h> void citire(int n,int *a); void afisare(int n,int *a); void produs(int n,int *a); main() { int n,*a,p; printf ("Dati elementele:"); printf ("n="); scanf ("%d", &n); a=(int *) malloc(n*sizeof(int)); citire(n,a); afisare(n,a); produs(n,a); free(a); return p; getch();} void citire(int n,int *a) { int i; for(i=0;i<n;i++) { printf("a[%d]=",i); scanf("%d",&*(a+i));}} void afisare(int n,int *a) { int i;

for (i=0;i<n;i++) printf("%3d",*(a+i)); void produs(int n,int *a) { int i,p; p=1; for(i=0;i<n;i++) }

if(*(a+i)>0 && *(a+i)%2==0) p=p**(a+i); printf("\n Produsul numerelor pozitive pare este=%d",p); getch(); }

Sa se realizeze un program care contine o functie ce citeste elementele unui vector de dimensiunea n cu valori reale si o functie ce returneaza indicele celui mai mare element;

# include<stdio.h> #include<conio.h> #include<math.h> void citire(int n,int a[10]); void afisare(int n,int a[10]); void elementmax(int n ,int a[10]); void main() { int n,a[10],p; clrscr(); printf ("Dati elementele:"); printf ("n="); scanf ("%d", &n); citire(n,a); afisare(n,a); elementmax(n,a); getch();} void citire(int n,int a[10]) { int i; for(i=0;i<n;i++) { printf("a[%d]=",i); scanf("%d",&a[i]);}} void afisare(int n,int a[10]) { int i; for (i=0;i<n;i++) printf("%3d",a[i]); getch(); } void elementmax (int n, int a[10]) {

int i,max=0; for(i=0;i<n;i++) if (a[i]>max) max=a[i]; printf("\nCel mai mare element este : %d",max); getch();}

Sa se realizeze un program care contine o functie ce citeste elementele unui vector de dimensiunea n cu valori reale si o functie ce returneaza indicele celui mai mare element; \\\ prin pointeri
# include<stdio.h> #include<conio.h> #include<math.h> #include<alloc.h> void citire(int n,int *a); void afisare(int n,int *a); void elementmax(int n ,int *a); main() { int n,*a,max; clrscr(); printf ("Dati elementele:"); printf ("n="); scanf ("%d", &n); a=(int*)malloc(n*sizeof(int)); citire(n,a); afisare(n,a); elementmax(n,a); free(a);

getch(); } void citire(int n,int *a) { int i; for(i=0;i<n;i++) { printf("a[%d]=",i); scanf("%d",&*(a+i)); }} void afisare(int n,int *a) { int i;

for (i=0;i<n;i++) printf("%3d",*(a+i)); getch(); } void elementmax (int n, int *a) { int i,max=0; for(i=0;i<n;i++) if (*(a+i)>max) max=*(a+i); printf("\nCel mai mare element este : %d",max); getch();}

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