Probleme Programare

Previzualizare laborator:

Extras din laborator:

Sa se scrie o functie care calculeaza cel mai mare divizor comun dintre 2 nr numere intregi nenule, utilizand algoritmul lui Euclid.

/* CMMDC */

#include<stdio.h>

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("n cmmdc= %d", cmmdc(n1,n2));

else printf("Numerele nu sunt nenule!");

}

Sa se scrie programul care calculeaza produsul scalar a 2 vectori:

/* produsul scalar a 2 vectori */

#include <stdio.h>

void ps(float x[], float y[], int n, float *prod)

{int i;

*prod=0;

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

(*prod)+=x[i]*y[i];

}

void main()

{float a[30],b[30], produs_scalar;

int dim,i;

printf("nDati dimensiunea vectorilor: ");

scanf("%d",&dim);

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

scanf("%f ",&a[i]);

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

scanf("%f ",&b[i]);

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

printf("%f ",b[i]);

printf("n");

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

printf("%f ",a[i]);

ps(a,b,dim, &produs_scalar);

printf("nProdusul scalar al vectorilor este: %f n", produs_scalar);

}

Sa se calculeze produsul dintre o matrice si un vector:

/* produsul dintre o matrice si un vector */

#include<stdio.h>

#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;

}

void main()

{float a[20][30],v[30], *c;

int m,n,i,j;

printf("nm= "); scanf("%d",&m);

printf("nn= "); scanf("%d",&n);

printf("nMatricea: n");

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

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

scanf("%f",&a[i][j]);

printf("nVectorul:n");

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

scanf("%f",&v[j]);

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

printf("n");

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

printf("%.2f ",c[i]);

}

Sa se realizeze un program C pentru ridicarea unei matrice la o putere.

/* ridicarea unei matrice la o putere */

#include<stdio.h>

#include<conio.h>

#include<alloc.h>

float** inmultire(float **a,float **b, int n)

{int i,j,k;

float **c;

c=(float**)malloc(n*sizeof(float));

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

*(c+i)=(float *)malloc(n*sizeof(float));

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

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

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

c[i][j]+=a[i][k]*b[k][j];

return c;

}

Download gratuit

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

Structură de fișiere:
  • Probleme Programare.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
14 pagini
Imagini extrase:
14 imagini
Nr cuvinte:
2 227 cuvinte
Nr caractere:
12 394 caractere
Marime:
13.70KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Sus!