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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2013, 09:49   #1
CHESNOK
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию Сортировка двумерного массива С++

Привет народ, передо мной стоит задача:
Дан двумерный массив, содержащий 3 строки и 4 столбца. Упорядочить массив по убыванию элементов 3-ей строки.
Написал код, но сортировка сама идёт неверно, может поможете?
Код:
#include <iostream.h>
#include <iomanip>
#include <time.h>

int main()
{
	srand(time(0));
	int A[3][4],i ,j, k, x;
	for(i=0; i<3; i++)
	for(j=0; j<4; j++)
    A[i][j] = rand()%10;
	for(i=0;i<3;i++)
	{
		for(j=0;j<4;j++)
		cout << A[i][j] <<" ";
		cout << endl;
	}
	for(j=0; j<4; j++)
	if(A[2][j]<A[2][j+1])
	{
		for(k=0; k<2; k++)	
		{
			x=A[2-k][j];
			A[2-k][j]=A[2-k][j+1];
			A[2-k][j+1]=x;
		}
	}
	for(i=0;i<3;i++)
	{
		for(j=0;j<4;j++)
		cout << A[i][j] <<" ";
		cout << endl;
	}
return 0;
}
CHESNOK вне форума Ответить с цитированием
Старый 17.03.2013, 15:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
 for(j=0; j<4; j++) 
     for(i=0; i<4; i++)
	if(A[2][j]<A[2][i])
	{
		for(k=0; k<3; k++)	
		{
			x=A[k][i];
			A[k][i]=A[k][j];
			A[k][j]=x;
		}
	}
Вроде так...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.03.2013, 17:15   #3
CHESNOK
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию

Stilet
Спасибо, код работает, можешь объяснить, почему
for(i=0; i<4; i++)
строчки то три...
CHESNOK вне форума Ответить с цитированием
Старый 17.03.2013, 17:18   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
строчки то три...
Правильно. Первые два цикла - сортировка, третий для перемещения элементов, поскольку их несколько. Будь элемент один третий цикл бы не понадобился, но ты перемещаешь целую колонку.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с++ сортировка двумерного массива Мартышлюшка Общие вопросы C/C++ 2 30.10.2012 00:24
сортировка двумерного массива Miles Помощь студентам 3 19.12.2011 22:14
Сортировка двумерного массива Olright Помощь студентам 15 30.05.2011 02:01
Сортировка двумерного массива AlexXXX12389 Помощь студентам 0 17.10.2010 10:32
Сортировка двумерного массива в С(Си) savra Помощь студентам 5 26.11.2009 10:47