Вычислить элементы массива Y по формуле Yik - C (СИ)
Формулировка задачи:
Здравствуйте! Такая задачка:
Ввести массив А(10,10). Вычислить элементы массива Y по формуле Yik=
1) 2*Aik, если Aik < 0;
2) 0, если Aik = 0;
3) -Aik, если Aik > 0;
Вывести исходный и результирующий массивы и количество элементов массива Y, получивших значение 0.
Проблема в том, что запись первого массива осуществляется, а вот второй результирующий что-то не показывает..
Не подскажите, в чём проблема?
#include <stdio.h>
int const n = 3, m = 3;
int main() {
int x[n][m];
int y[n][m];
int k = 0;
printf("Enter thr first massiv ");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("x[%d][%d]=", i, j);
scanf_s("%d", &x[i][j]);
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (x[i][j] < 0)
scanf_s("%d", &y[i][j]);
if (x[i][j] == 0)
scanf_s("%d", &y[i][j]);
if (x[i][j]>0)
scanf_s("%d", &y[i][j]);
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (y[i][j] == 0) k += 0;
printf("y[%d][%d]/n", i, j, y[i][j]);
}
printf("The number of elements, that == 0, - %d", k);
}
}
}Решение задачи: «Вычислить элементы массива Y по формуле Yik»
textual
Листинг программы
#include <stdio.h>
int main(void) {
const int N = 3;
const int M = 3;
int x[N][M], y[N][M];
int k = 0;
printf("Enter thr first massiv ");
for (int i=0; i < N; ++i) {
for (int j=0; j < M; ++j) {
printf("x[%d][%d]=", i, j);
scanf_s("%d", &x[i][j]);
if (x[i][j] < 0) {
y[i][j] = 2 * x[i][j];
} else {
y[i][j] = -x[i][j];
if (y[i][j] == 0) ++k;
}
}
}
printf("x:");
for (int i=0; i < N; ++i) {
for (int j=0; j < M; ++j) {
printf("x[%d][%d] = %d ", i, j, x[i][j]);
}
printf("\n");
}
printf("y:");
for (int i=0; i < N; ++i) {
for (int j=0; j < M; ++j) {
printf("y[%d][%d] = %d ", i, j, y[i][j]);
}
printf("\n");
}
printf("The number of elements, that == 0, - %d", k);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Введены и заданы значения переменных N и M, которые определяют размерность массивов x и y.
- Создаются массивы x и y размером N на M.
- Запрашиваются значения для элементов массива x с помощью функции scanf_s.
- Вычисляются значения для элементов массива y по формуле Yik
- Если x[i][j] < 0, то y[i][j] = 2 * x[i][j].
- Иначе y[i][j] = -x[i][j], и если y[i][j] == 0, то увеличивается счетчик k.
- Выводятся значения массивов x и y на экран.
- Выводится значение переменной k, которая считает количество элементов массива y равных нулю.
- Завершается программа с возвращаемым значением 0.