Seminar 12

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Problema 1 – Minim si maxim dintr-o matrice

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

void citire(float a[][10], int* m, int* n)


{
int i, j;
printf("m="); scanf("%i", &*m); /*scanf("%i",m);*/
printf("n="); scanf("%i", n);
for (i = 0; i < *m; i++)
for (j = 0; j < *n; j++)
{
printf("a[%i][%i]=", i, j);
scanf("%f", &a[i][j]);
}
}

void min_max(float a[][10], int m, int n, float *min, float *max)


{
int i, j;
*min = a[0][0];
*max = a[0][0];
for ( i = 0; i < m; i++)
for ( j = 0; j < n; j++)
{
if (a[i][j] > *max)
*max = a[i][j];
else if (a[i][j] < *min)
*min = a[i][j];
}
}

void main()
{
float a[15][10];
int m, n;
citire(a, &m, &n);
float min, max;
min_max(a, m, n, &min, &max);
printf("Minimul si maximul sunt: %.2f, %.2f", min, max);
}

Problema 2 Sa se determine coloanele nule

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

void citire(float a[][10], int* m, int* n)


{
int i, j;
printf("m="); scanf("%i", &*m); /*scanf("%i",m);*/
printf("n="); scanf("%i", n);
for (i = 0; i < *m; i++)
for (j = 0; j < *n; j++)
{
printf("a[%i][%i]=", i, j);
scanf("%f", &a[i][j]);
}
}

void consum(float a[15][10], int m, int n, int v[10], int* k)


{
int i, j;
*k = 0;
for (j = 0; j < n; j++)
{
i = 0;
while (i < m && a[i][j] == 0)
i++;
if (i == m)
{
v[*k] = j;
(*k)++;
}

}
}

void main()
{
float a[15][10];
int m, n;
citire(a, &m, &n);
int v[10], k;
consum(a, m, n, v, &k);
if (k == 0)
printf("nu exista coloane nule");
else
for (int i = 0; i < k; i++)
{
printf("%i ", v[i]);
}

Sa se determine maximul din matrice si maximul de pe fiecare linie din matrice


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void citire(float a[][10], int* m, int* n)
{
int i, j;
printf("m="); scanf("%i", &*m); /*scanf("%i",m);*/
printf("n="); scanf("%i", n);
for (i = 0; i < *m; i++)
for (j = 0; j < *n; j++)
{
printf("a[%i][%i]=", i, j);
scanf("%f", &a[i][j]);
}
}

void max_maxi(float a[15][10], int m, int n, float *max, float maxi[15])


{
int i, j;
for (i = 0; i < m; i++)
{
maxi[i] = a[i][0];
for (j = 1; j < n; j++)
if (a[i][j] > maxi[i])
maxi[i] = a[i][j];
if (i == 0)
*max = maxi[0];
else
if (*max < maxi[i])
*max = maxi[i];
}
}

void main()
{
float a[15][10];
int m, n;
citire(a, &m, &n);
float max, maxi[15];
max_maxi(a, m, n, &max, maxi);
printf("%.2f\n", max);
for (int i = 0; i < m; i++)
printf("%.2f ", maxi[i]);
}

You might also like