Показать сообщение отдельно

  #2  
Старый 12.05.2009, 21:45
Mosvit
Познающий
Регистрация: 05.03.2007
Сообщений: 99
Провел на форуме:
744734

Репутация: 44
По умолчанию

Помогите решить такую задачку на Си:
Написать подпрограмму сортировки 2-мерного массива целых по столбцам (использовать сумму значений столбца), сохранив эти значения во вспомогательной диагонали массива.

Пробовал сначало сделать подсчёт суммы элементов каждой строки, потом сделать сортировку строк на основании их сумм, но выходила какая-то чушь.
Ещё пробовал задать строки в одномерный массив, тоже не смог сделать.

Вообщем вот что у меня вышло, буду рад помощи =)


Код:
#include <stdio.h> 
#define M 3 
#define N 3 
#define MAX 100 // наше ограничение 
void main(void) 
{ 
int array[M][N]; // Объявление двумерного массива 
int i, j; 
int a;
int mas1[M], mas2[M], mas3[M];
// Ввод массива 
for(i=0;i<M;i++) // цикл по строкам 
{ 
for(j=0;j<N;j++) // цикл по элементам строки 
{ 
// Ввод значения элемента массива 
printf(" A[%d][%d]=", i, j); 
scanf("%d",&array[i][j]); 
} 
}
printf("\n");
getch();
//---------------------------------Вывод массива
for(i=0;i<M;i++) // цикл по строкам 
{ 
for(j=0;j<N;j++) // цикл по элементам строки 
{ 
                 
printf("%4d", array[i][j]);

}
printf("\n");

}
printf("\n");
// ---------- Обработка и вывод
for(i=0;i<M;i++) // цикл по строкам 
{ 
for(j=0;j<N;j++) // цикл по элементам строки 
{ 
                 //----- Присваивание элементов строки в одномерный массив
  mas1[i]=array[0][i];
  mas2[i]=array[1][i];
  mas3[i]=array[2][i];
  printf("%4d", mas1[i]);
}
printf("\n");

}
// ------- Вывод суммы элементов каждой строки массива
printf("Summa elemenov strok massiva:\n");
for(i=0;i<M;i++) 
printf("%4d", array[i][0]);
getch();
}
 
Ответить с цитированием