Хорошо, я только начинаю пользоваться этим сайтом, и я знаю, что мой заголовок немного запутанный, но я постараюсь объяснить его здесь как можно лучше. Поэтому мне нужно взять матрицу из входных данных, сосчитать четные и нечетные числа в каждой строке, а затем написать матрицу со строками, в которых сначала будет больше четных чисел. Пример:
Ввод:
3 3 // Размеры
1 2 3 // Элементы
4 5 6
7 8 9
Вывод:
1 2 3 // Исходная матрица
4 5 6
7 8 9
1 2 // Количество четных и нечетных элементов в каждой строке
2 1
1 2
4 5 6 // Матрица, отсортированная по четным числам в строках
1 2 3
7 8 9
Я сделал все, кроме выяснения, как выписать окончательную матрицу. Любая помощь?
#include<stdio.h>
#include<stdlib.h>
int main() {
int row, column, temp, count;
int even[100], odd[100];
for (int i = 0; i < 100; i++)
even[i] = odd[i] = 0;
scanf("%d %d", &row, &column);
count = row;
int* matrix = (int*)malloc(row * column * sizeof(int));
for (int i = 0; i < row; i++)
for (int j = 0; j < column; j++)
scanf("%d", &*(matrix + i * column + j));
for (int i = 0; i < row; i++) {
for (int j = 0; j < column; j++)
printf("%d ", *(matrix + i * column + j));
printf("\n");
}
for (int i = 0; i < row; i++) {
for (int j = 0; j < column; j++) {
temp = *(matrix + i * column + j);
if (temp % 2 == 0)
even[i]++;
else odd[i]++;
}
}
for (int i = 0; i < count; i++)
printf("%d %d\n", even[i], odd[I]);
return 0;
}
Если есть какие-то ошибки с именами переменных, я переводил большинство из них здесь напрямую, поэтому, возможно, я пропустил некоторые из них, извините заранее.