De la tastatură se citesc elementele unui tablou bidimensional cu n – linii și m – coloane
(n,m<=10). Să se alcătuiască un program care memorează în două variabile, poziţiile
acelor elemente dintr-o matrice ale căror valori se încadrează în numărul închis
[a,b].
De rezolvat în limbajul C.
Răspunsuri la întrebare
Răspuns:
#include <stdio.h>
#include <limits.h>
void main()
{
int matrice[10][10];
int x[100], y[100];
int n, m, a, b, incadrat = 0;
printf("n: ");
scanf("%d", &n);
printf("m: ");
scanf("%d", &m);
for (int i = 0; i < n; i++) {
printf("Rândul %d (%d numere): ", i + 1, m);
for (int j = 0; j < m; j++) {
scanf("%d", &matrice[i][j]);
}
}
printf("a: ");
scanf("%d", &a);
printf("b: ");
scanf("%d", &b);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (matrice[i][j] >= a && matrice[i][j] <= b) {
x[incadrat] = j;
y[incadrat] = i;
incadrat++;
}
}
}
printf("Elementele în intervalul %d .. %d se află la coordonatele:\n", a, b);
for (int i = 0; i < incadrat; i++) {
printf(" - rândul %d, coloana %d\n", y[i] + 1, x[i] + 1);
}
}
Explicație:
- Am interpretat „memorează în două variabile” ca memorează în doi vectori
- Am interpretat „numărul închis [a,b]” ca intervalul închis [a,b]