Operații dinamice cu matrici

Previzualizare seminar:

Extras din seminar:

scrie o funcţie care calculează cel mai mare divizor comun dintre două numere întregi nenule, utilizînd algoritmul lui Euclid şi un apelant pentru testare.

#include <stdio.h>

/*definirea functiei cmmdc*/

int cmmdc(int a, int b)

{ int r,d=a,i=b;

do {r=d%i;

d=i; i=r;}

while(r<>0);

return i;}

void main()

{ int n1,n2;

printf("Numerele pentru care se va calcula cmmdc:");

scanf("%d%d",&n1,&n2);

if(n1&&n2) printf("ncmmdc=%d",cmmdc(n1,n2));

else printf("Numerele nu sînt nenule!");}

2) Să se calculeze produsul a două matrice.

void produs(float a[][10],float b[][20], float c[][20],int m,

int n,int p)

{ int i,j,k;

for(i=0;i<m;i++)

for(j=0;j<p;j++)

for(c[i][j]=0,k=0;k<n;k++)c[i][j]+=a[i][k]*b[k][j];}

3) Să se calculeze produsul dintre o matrice şi un vector.

#include<malloc.h>

……………………

float * prod(float a[][30], float v[],int m, int n)

{ float *p;int i,j;

p=(float *)malloc(sizeof(float)*m);

for(i=0;i<m;i++)

for(p[i]=0,j=0;j<n;j++) p[i]+=a[i][j]*v[j];

return p;}

Apelul se realizează astfel:

float a[20][30], b[30], *c;

int m,n;

…………………………

c=prod(a,b,m,n);

4)Să se sorteze un şir cu elemente de un tip neprecizat, dar pe care se poate defini o relaţie de ordine (de exemplu numeric, şir de caractere, caracter).

#include <mem.h>

#include<malloc.h>

int compara(const void *x, const void *y);

void sort(void *v, int n, int dim,

int (*compara)(const void *x,const void *y))

{ int i,j;

void *aux;

aux=malloc(dim);

for(i=0;i<n-1;i++)

Observații:

Academia de Studii Economice

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • probleme1.doc
  • probleme2.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
8/10 (1 voturi)
Nr fișiere:
2 fisiere
Pagini (total):
13 pagini
Imagini extrase:
13 imagini
Nr cuvinte:
1 962 cuvinte
Nr caractere:
9 804 caractere
Marime:
16.38KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Seminar
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Profesorului:
Catalin Silvestru
Sus!