Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2013, 00:41   #1
pavelitel
Пользователь
 
Регистрация: 27.09.2012
Сообщений: 21
Восклицание отсортировать строки двумерно массива

Уважаемые программисты прошу проверить мой код, почему то алгоритм не работает( (За ранее большое спасибо )

Упорядочить строки целочисленной прямоугольной матрицы за увеличением количества одинаковых элементов в каждой строке.

Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main()
{
int n,**mas,m,max=0,count=0,*max_mas,*hold_mas1,*hold_mas2,*temp;
printf("Vvedite N: \n");
scanf("%d",&n);
printf("Vvedite M: \n");
scanf("%d",&m);
mas=(int **)malloc(sizeof(int *)*n);
hold_mas1=(int *)malloc(sizeof(int *)*m);
hold_mas2=(int *)malloc(sizeof(int *)*m);
for(int i=0;i<n;i++)
{
mas[i]=(int*)malloc(sizeof(int)*n);
}
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
scanf("%d",&mas[i][j]);
///////////////////////////////////////////////////////////////////////
for(int i=0;i<n-1;i++)
{
for(int j=0;j<m;j++)
{
for(int k=0;k<m;k++)
{
if(mas[i][j]==mas[i][k])
hold_mas1[j]++;

if(mas[i+1][j]==mas[i+1][k])
hold_mas2[j]++;
}
int hold1,hold2;
for(int i1=0;i<m;i++)
{
for(int j1=0;j1<m-1;j1++)
{
if(hold_mas1[j1]<hold_mas1[j1+1])
{
hold1=hold_mas1[j1];
hold_mas1[j1]=hold_mas1[j1+1];
hold_mas1[j1+1]=hold1;
}
if(hold_mas2[j1]<hold_mas2[j1+1])
{
hold2=hold_mas2[j1];
hold_mas2[j1]=hold_mas2[j1+1];
hold_mas2[j1+1]=hold2;
}
}
}
if(hold_mas1[0]>hold_mas2[0])
{
int temp;
for(int i1=0;i1<m;i1++)
{
temp=mas[i][i1];
mas[i][i1]=mas[i+1][i1];
mas[i+1][i1]=temp;
}

}
}
}

/////////////////////////////////////////////////////////////////////////////////////////

for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
printf("%d ",mas[i][j]);
}
printf("\n");
}

getch();
return 0;
}
pavelitel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отсортировать строки матрицы Си Александрq Помощь студентам 4 17.12.2012 09:41
Обработка матрицы. Первую и вторую строки отсортировать выбором по убыванию, пятый и шестой столбец отсортировать (С++) Sasha316 Помощь студентам 0 23.11.2012 00:48
как отсортировать строки AloneForever Общие вопросы C/C++ 2 28.12.2011 16:24
Отсортировать строки массива(Pascal) Cas01 Помощь студентам 0 15.05.2011 16:44
отсортировать элементы массива wolf05632 Microsoft Office Word 7 24.04.2011 22:10