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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2008, 21:24   #1
Зеленый
 
Регистрация: 04.09.2008
Сообщений: 6
По умолчанию Помогите с сортировкой(исходник прилагается)

#include<stdio.h>
void main()
{
int a[5]={1,2,3,4,5};
int b[5];
int c;
int i;
a[i]=b[i];
for (i=0;i<4;i++)
{
if (a[i]<b[i+1])
a[i]=c;
b[i+1]=a[i];
c=b[i+1];
}
printf("\n %d,%d,%d,%d,%d",a[0],a[1],a[2],a[3],a[4]);
}
Где ошибка? Если можно поподробнее. Заранее спасибо.
Зеленый вне форума Ответить с цитированием
Старый 06.10.2008, 23:03   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Ошибок куча. Во первых - перед использованием переменные надо проинициализировать. Это касается переменных c, i и массива b[5]. А так вроде все путем.
MaTBeu вне форума Ответить с цитированием
Старый 06.10.2008, 23:13   #3
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

жесть. просто страшно.

Код:
	int a[5] = {3,2,1,5,4};
	int c;

	for (int i = 0; i < 5; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			if (a[i] < a[j])
			{
				c = a[i];
				a[i] = a[j];
				a[j] = c;
			}
		}
	}
обычная пузырьковая сортировка.
vvviperrr вне форума Ответить с цитированием
Старый 06.10.2008, 23:14   #4
(C)stalin(Cpp)
Пользователь
 
Аватар для (C)stalin(Cpp)
 
Регистрация: 04.10.2008
Сообщений: 47
Восклицание

Я не пойму с какой сортировкой!
Что ты хочеш сделать?
Если про100 скопировать информацию с масива "а" в масив "б",
то это будет выглядеть так:
#include<iostream.h>
int main(void)
{
int a[5] = {4,3,2,1,0};/*Создание и инициализация масива а*/
int b[5] = {0,0,0,0,0};/*Создание и инициализация масива б*/
int count = 0 ;/*Создание и инициализация переменной счетчика коунт*/
for(count=0;count<5;count++)/*Циклический оператор фор, в котором счетчик равен 0 и будет возростать до значения <5, тоесть 4
таким образом с помощью этого мы копируем информацию с одного масива в другой*/
{
b[count]=a[count];
}
/*********************************** *********************************** ****/
cout<<"Array [a]\nThe elements of array: 0 1 2 3 4\nThey are: "<<a[0]<<" "<<a[1]<<" "<<a[2]<<" "<<a[3]<<" "<<a[4]<<endl;
cout<<"--------------------------------"<<endl;
cout<<"Array [b]\nThe elements of array: 0 1 2 3 4\nThey are: "<<b[0]<<" "<<b[1]<<" "<<b[2]<<" "<<b[3]<<" "<<b[4]<<endl;
/*Это все вывод информации, которая показывает значения в двух масивах...*/
system("PAUSE");
return 0;
}
функция_пахан(1000000$)
{ чисто_в_натуре_написать("хеллоу мир");
вернуть_в_налоговую(0$); }
(C)stalin(Cpp) вне форума Ответить с цитированием
Старый 06.10.2008, 23:18   #5
(C)stalin(Cpp)
Пользователь
 
Аватар для (C)stalin(Cpp)
 
Регистрация: 04.10.2008
Сообщений: 47
Радость

Цитата:
Сообщение от vvviperrr Посмотреть сообщение
жесть. просто страшно.

Код:
	int a[5] = {3,2,1,5,4};
	int c;

	for (int i = 0; i < 5; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			if (a[i] < a[j])
			{
				c = a[i];
				a[i] = a[j];
				a[j] = c;
			}
		}
	}
обычная пузырьковая сортировка.
Умно! Но зачем ты постоянно обьявляеш переменную счетчик в самой for??
Мне кажется так неудобно!
Я лично привык видеть все используемые переменные сначала)
функция_пахан(1000000$)
{ чисто_в_натуре_написать("хеллоу мир");
вернуть_в_налоговую(0$); }

Последний раз редактировалось (C)stalin(Cpp); 06.10.2008 в 23:21.
(C)stalin(Cpp) вне форума Ответить с цитированием
Старый 06.10.2008, 23:38   #6
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

2(C)stalin(Cpp) объявляется она единожды, и живет до выхода из цикла. а почему - зачем ее раньше объявлять, если будет использоваться только в цикле. и вообще, время жизни переменных надо делать как можно меньше)
vvviperrr вне форума Ответить с цитированием
Старый 07.10.2008, 00:46   #7
(C)stalin(Cpp)
Пользователь
 
Аватар для (C)stalin(Cpp)
 
Регистрация: 04.10.2008
Сообщений: 47
Смех

Цитата:
Сообщение от vvviperrr Посмотреть сообщение
2(C)stalin(Cpp) объявляется она единожды, и живет до выхода из цикла. а почему - зачем ее раньше объявлять, если будет использоваться только в цикле. и вообще, время жизни переменных надо делать как можно меньше)
Эх, золотые слова!
Не могу с вами не согласитс0, коллл..ллег0)
функция_пахан(1000000$)
{ чисто_в_натуре_написать("хеллоу мир");
вернуть_в_налоговую(0$); }
(C)stalin(Cpp) вне форума Ответить с цитированием
Старый 07.10.2008, 10:38   #8
_ares_
Пользователь
 
Регистрация: 12.11.2007
Сообщений: 31
По умолчанию

Все виды сортировок можно найти в C++World!
_ares_ вне форума Ответить с цитированием
Старый 07.10.2008, 23:19   #9
Зеленый
 
Регистрация: 04.09.2008
Сообщений: 6
По умолчанию

vvviperrr спасибо огромное, разобрался наконец-то. У меня в учебнике такая ерунда написана, у тебя все проще намного и понятнее. СПАСИБО
Зеленый вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как исправить? (исходник прилагается) Зеленый Общие вопросы C/C++ 2 01.10.2008 23:11
В чем ошибка? (исходник прилагается) Зеленый Общие вопросы C/C++ 5 06.09.2008 16:16
Помогите с сортировкой. Dissonance БД в Delphi 14 05.06.2008 15:35
Помогите с сортировкой AHTOXA Общие вопросы Delphi 2 08.06.2007 12:46
Помогите с сортировкой radist Паскаль, Turbo Pascal, PascalABC.NET 5 23.04.2007 12:50