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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2011, 11:25   #1
ashtone9130
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 45
По умолчанию не сортирует сразу 2 массива

У такая проблема, решаю задачу, где надо сделать сортировку сразу 2 массивов, так вот один массив он сортирует с лёгкостью, а когда я добавляю второй массив он почему то начинает перемешивать числа у массивов...

вот код моей программы...

Код:
#include <iostream>
using namespace std;

int main ()
{
const int M = 5;
int c[M] = {3, 4, 1, 2, 5};
int s[M] = {1, 3, 5, 2, 4};
int z, y ,p = 0, x = 0;

// сортируем первый массив

for ( int w = 0; w < M; w++)
{
	for ( int d = 0; d < M; d++)
	{
         p = d + 1; 
		 if ( s[d] > s[p])
		{
			y = s[p];
		    s[p] = s[d];
			s[d] = y;
		}
	}
}

//сортируем второй массив

for ( int q = 0; q < M; q++)
{
	for ( int f = 0; f < M; f++)
	{
         x = f + 1; 
		 if ( c[f] > c[x])
		{
			z = c[x];
		    c[x] = c[f];
			c[f] = z;
		}
	}
}

//выводим первый массив

for ( int v = 0; v < M; v++)
{
	cout << "1) - " << s[v] << endl;
}

//выводим второй массив

for ( int u = 0; u < M; u++)
{
	cout << "2) - " << c[u] << endl;
}
Оформляем код тегом [code], пора бы уже знать.

Последний раз редактировалось ACE Valery; 28.05.2011 в 12:00.
ashtone9130 вне форума Ответить с цитированием
Старый 28.05.2011, 13:53   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Не знаю, у меня всё работает.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 28.05.2011, 13:59   #3
_Alerter_
Пользователь
 
Регистрация: 25.05.2011
Сообщений: 89
По умолчанию

Вообще-то в цикле текущий элемент сравнивается со следующим, т.е. вложенный цикл должен идти не до M, а до M - 1, иначе выход за границы массива
_Alerter_ вне форума Ответить с цитированием
Старый 30.05.2011, 11:03   #4
ashtone9130
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 45
По умолчанию

Хммм.. странно, ща попробовал тот же код запустить на рабочем компе и норм работает))).. похода у меня дома что то не то с "Visual C++".. спасибо за ответы
ashtone9130 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сортирует фразу по алфавиту СИ, СИ++ Anapa Помощь студентам 1 18.02.2011 23:34
Несколько процедур сразу Progs1024 Паскаль, Turbo Pascal, PascalABC.NET 4 10.01.2010 15:27
Сортирует цифры по строкам, а надо чтобы сортировала цифры , записанные через пробелы Алексей_xXx Помощь студентам 14 06.05.2009 17:42