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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2011, 17:03   #1
Хитман
Пользователь
 
Регистрация: 08.12.2010
Сообщений: 13
По умолчанию метод сортировки масивов

Дано двумерный массив размерности NxM. Элементами массива являются целые числа. Упорядочить столбцы по незростанням элементов первой строки.

Кто подскажет какой метод сортировки использовать в данной задаче? И может у кого то есть алгоритм.
Хитман вне форума Ответить с цитированием
Старый 03.04.2011, 17:23   #2
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

1.Создаешь функцию, которая меняет местами столбцы.
2.Берешь любую сортировку( например пузырьковую )
3. Ставишь на место, где меняются элементы, функцию (1).
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Старый 03.04.2011, 17:25   #3
Fissa
Пользователь
 
Регистрация: 23.05.2010
Сообщений: 19
По умолчанию

Какой язык то? И сотрировка тут не при чем! Сказано же: преобразовать исходную матрицу путем перестановки столбцов в том порядке, в каком возрастают элементы первой строки. Ну как то так.
Говори язык, щас сделаю.
Fissa вне форума Ответить с цитированием
Старый 03.04.2011, 17:44   #4
Fissa
Пользователь
 
Регистрация: 23.05.2010
Сообщений: 19
По умолчанию

Вот те на С++:

Код:
#include <iostream>
#include <time.h>
using namespace std;
const int n=4, m=4;			//это количество строк и столбцов соответсвенно

void main()
{
	srand((unsigned int)time(NULL));
	int mas[n][m], mass[n][m], i=0, j=0, min=0, temp=0, k=0;	
//*********************************************************
	cout<<"mas:"<<endl;	
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			mas[i][j]=rand()%99;
			cout<<mas[i][j]<<"\t";
		}
		cout<<endl;
	}
//*********************************************************	
	for(k=0;k<m;k++)
	{
		min=100;
		for(j=0;j<m;j++)
			if(mas[0][j]<min)
			{
				min=mas[0][j];				
				temp=j;
			}
		for(i=0;i<n;i++)
			mass[i][k]=mas[i][temp];
		mas[0][temp]=101;
	}
//*********************************************************
	cout<<"mass:"<<endl;
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			cout<<mass[i][j]<<"\t";
		}
		cout<<endl;
	}
	cin>>i;				 //мнимая задержка экрана
}

Последний раз редактировалось Fissa; 04.04.2011 в 08:42.
Fissa вне форума Ответить с цитированием
Старый 03.04.2011, 18:16   #5
Fissa
Пользователь
 
Регистрация: 23.05.2010
Сообщений: 19
По умолчанию

а вот на Pascal:

Код:
uses crt;
const n=4;
const m=4;
var
   i,j,min,temp,k: integer;
   mas: array[1..n,1..m] of integer;
   mass: array[1..n,1..m] of integer;

begin
     clrscr;
     randomize;
     writeln ('mas:');
     for i:= 1 to n do
         begin
              for j:= 1 to m do
              begin
                  mas[i,j]:=random(100);
                  write (mas[i,j], ' ');
              end;
              writeln;
         end;
         
    for k:= 1 to m do
    begin
        min:=100;
        for j:= 1 to m do
            if(mas[1,j]<min) then
                begin
                     min:=mas[1,j];
                     temp:=j;
                end;
        for i:= 1 to n do
            mass[i,k]:=mas[i,temp];
        mas[1,temp]:=101;
    end;
    
    writeln ('mass:');
    for i:= 1 to n do
        begin
             for j:= 1 to m do
                 write (mass[i,j], ' ');
             writeln;
        end;
     readln();
end.

Последний раз редактировалось Fissa; 04.04.2011 в 08:41.
Fissa вне форума Ответить с цитированием
Старый 10.04.2011, 13:29   #6
Хитман
Пользователь
 
Регистрация: 08.12.2010
Сообщений: 13
По умолчанию

спс конечно, но мне на С нужно) и тема сортировка, потому надо сортировкой делать

Последний раз редактировалось Хитман; 10.04.2011 в 13:41.
Хитман вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пузырьковый метод сортировки массивов Lunex.08 Общие вопросы C/C++ 4 07.10.2010 16:00
Метод быстрой сортировки Nord18 Паскаль, Turbo Pascal, PascalABC.NET 1 05.06.2010 11:24
метод шейкерной сортировки ai\ekcah^p Помощь студентам 0 22.11.2009 20:22
Метод сортировки Шелла SVadiks Помощь студентам 2 03.11.2009 20:17
Задача на Метод сортировки Smotritel89 Общие вопросы C/C++ 4 19.12.2008 18:17