Задача: Все ненулевые элементы матрицы [latex]D(k,l)[/latex] расположить в начале массива [latex]E(k \times l)[/latex] и подсчитать их количество.
K | L | Матрица D | Ненулевые элементы матрицы E | Количество ненулевых элементов |
2 | 3 |
2 7 0 1 4 9 |
2 7 1 4 9 | 5 |
3 | 4 |
6 7 4 2 9 0 1 3 0 8 0 19 |
6 7 4 2 9 1 3 8 19 | 9 |
4 | 2 | 8 9 0 1 5 2 7 26 |
8 9 1 5 2 7 26 | 8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#include <iostream> #include <stdlib.h> #include <ctime> using namespace std; int main() { int K; int L; cin>>K; cin>>L; int M=K*L; int D[K][L]; int E[M]; int count = 0; for (int i = 0; i < K; ++i) { for (int j = 0; j < L; ++j) { cin>>D[i][j]; if (D[i][j] != 0) { E[count++] = D[i][j]; cout << D[i][j] << " "; } } } cout << " количество ненулевых элементов матрицы E = " << count << endl; for (int u = 0; u < K; ++u) { for (int y = 0; y < L; ++y) { cout<<D[u][y]<<" "; } cout<<"\n"; } return 0 ; } |
Заполняем матрицу с клавиатуры посредством циклов.
Выводим ненулевые элементы.
Выводим их количество.
Выводим матрицу D.
Ссылка на код
Хорошо. Зачтено.