Подскажите как сделать данную задачу.
Дан двухмерный массив размером N строк в каждой из которых M элементов. Его необходимо заполнить числами и вывести несколько строк в каждой из которых два числа разделенных пробелом, первое из которых это число в массиве, а второе это количество строк в которых присуцтвует данное число (числа массива необходимо вывести в порядке возрастания).
Я написал данную задачу и она у меня работает, но компилятор на сервере моего университета по какойто причине не хочет принемать мое решение... Вот мой код:
Code
#include <stdio.h>
#include <stdlib.h>
#include "stdafx.h"
int Cnt[21][2005];
int N, M, i, v, j, Maxv;
int main()
{
// freopen("kare.dat", "rt", stdin);
// freopen("kare.sol", "wt", stdout);
scanf("%d %d", &N, &M);
Maxv = 0;
for( i = 0 ; i < N ; i++ ) {
for( j = 0 ; j < M ; j++ ) {
scanf("%d", &v);
if( Cnt[i][v] == 0 ) {
Cnt[i][v]++;
}
if ( Maxv < v ) {
Maxv = v;
}
}
}
Maxv++;
for( i = 1 ; i < N ; i++ ) {
for( j = 0 ; j < Maxv ; j++ ) {
Cnt[0][j] += Cnt[i][j] ;
}
}
for( i = 0 ; i < Maxv ; i++ ) {
if( Cnt[0][i] != 0 ) {
printf("%d %d\n", i, Cnt[0][i]);
}
}
int end;
scanf("%d", &end);
return 0;
}
(на закомментированные строки не обращайте внимания)
Как можно упростить решение задачи?