-1
Существует 2D-массив с указателями от пользователя, заполненный случайными числами, сумма подсчета программ каждой строки. Мне нужно отсортировать массив по сумме каждой строки и распечатать ее. Например, если у нас есть массив: 1 2 2 (сумма = 5) 2 9 9 (сумма = 20) 2 1 6 (сумма = 9) вывод должен быть: 1 2 2 (сумма = 5) 2 1 6 (сумма = 9) 2 9 9 (сумма = 20). Спасибо за помощь.2D-массив, сортировать строки по сумме
int main() {
int i, j, row, column, **array,sum;
time_t seconds;
time (&seconds);
srand ((unsigned int)seconds);
printf ("Write number of rows:");
scanf ("%d", &row);
printf ("Write number of columns:");
scanf ("%d", &column);
array=(int**) malloc (row * sizeof(int *));
if (array!=NULL){
for (i=0; i<row;i++)
array[i]= (int*) malloc (column *sizeof(int));
}
for (i=0; i<row;i++)
for (j=0; j<column;j++)
array[i][j]=(rand()%100);
for (i=0; i<row;i++){
for (j=0; j<column;j++)
printf("%d ",array[i][j]);
printf ("\n");
}
for(i=0;i<row;i++){ //find sum of each row
sum=0;
for(j=0;j<column;j++){
sum=sum+array[i][j];
}
printf("%d \n",sum);
}
return 0;
}
Добро пожаловать на переполнение стека! Стандартное предупреждение: [Не выдавать результат malloc] (http://stackoverflow.com/q/605845/1151654) – Eregrith
Вы также должны форматировать и отступать от кода лучше, это только поможет вам. – Eregrith
Также не используйте ужасный синтаксис, например '* (* (массив + i) + j)' - намного проще и интуитивно понятным написать 'array [i] [j]'. –