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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2011, 19:43   #1
Alexander1205
Пользователь
 
Аватар для Alexander1205
 
Регистрация: 22.01.2011
Сообщений: 78
По умолчанию меню сортировок

Первый case работает хорошо.а два последних не хотят...
Код:
#include<iostream>
#include<ctime>
using namespace std;
void main()
{
srand(time(0));
setlocale(0,"rus");
cout<<" Вариант a - для сортировки вставкой \n";
cout<<" Вариант b - для сортировки выбором \n";
cout<<" Вариант c - для пузырьковой сортировки \n";
char variants;
cout<<" Введите варианты a,b,c :\n>";
cin>>variants;
switch(variants)
{
case'a': int n;
cout<<" Введите количество элементов массива :\n>";
cin>>n;
int*mas,i,j,k,m,index,element,number;
mas=new int[n];
for(i=0;i<n;i++)
{
mas[i]=rand()%100;
cout<<mas[i]<<" ";
}
cout<<"\n\n";
for(i=0;i<n-1;i++)
{
index=i+1;
m=i+1;
for(k=0;k<m;k++)
{
if(mas[k]>mas[index])
{
break;
}
}
element=mas[index];
for(j=m;j>k;j--)
{
mas[j]=mas[j-1];
}
mas[k]=element;
}
for(i=0;i<n;i++)
{
cout<<mas[i]<<" ";
}
cout<<"\n\n";
break;

case'b':int n;
cout<<" Введите количество элементов массива :\n>";
cin>>n;
int*mas,i,k,number;
mas=new int[n];
for(i=0;i<n;i++)
{
mas[i]=rand()%100;
cout<<mas[i]<<" ";
}
cout<<"\n\n";
for(i=0;i<n;i++)
{
int min=mas[i];
number=i;
for(k=i;k<n;k++)
{
if(min>mas[k])
{
min=mas[k];
number=k;
}
}
swap(mas[i],mas[number]);
}
for(i=0;i<n;i++)
{
cout<<mas[i]<<" ";
}
cout<<"\n\n"; 
break;
case'c':int n;
cout<<" Введите количество элементов массива :\n>";
cin>>n;
int*mas,i,k;
mas=new int[n];
for(i=0;i<n-1;i++)
{
mas[i]=rand()%100;
cout<<mas[i]<<" "<<'\011';
}
cout<<"\n\n";
for(k=1;k>n-1;k++)
{
if(mas[k]<mas[k-1])
{
swap(mas[k],mas[k-1]);
}
for(i=0;i<n-1;i++)
{
cout<<mas[i]<<" "<<'\011';
}
cout<<"\n\n";
break;
default:cout<<" Неизвестно !\n";
}
}




}

Последний раз редактировалось Stilet; 11.02.2011 в 21:12.
Alexander1205 вне форума Ответить с цитированием
Старый 11.02.2011, 21:21   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да все работает...
Цитата:
Вариант a - для сортировки вставкой
Вариант b - для сортировки выбором
Вариант c - для пузырьковой сортировки
Введите варианты a,b,c :
>b
Введите количество элементов массива :
>5
58 25 24 60 43

24 25 43 58 60
Единственное что в конец вставить задержку типа system("pause") ато окошко сворачивается быстро
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.02.2011, 22:04   #3
Alexander1205
Пользователь
 
Аватар для Alexander1205
 
Регистрация: 22.01.2011
Сообщений: 78
По умолчанию

В том-то и дело,что не всё! По-моему,задвоил вводы массива,хотя достаточно это сделать один раз,в начале программы.Ну,не знаю,первый case запускается отлично,а вот варианты b,c глючат и закрывают всю программу..
Alexander1205 вне форума Ответить с цитированием
Старый 12.02.2011, 11:42   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
глючат и закрывают всю программу...
Такого эффекта я не получил. Стратегия проги отработала нормально, результат выше
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
методы сортировок C++ Versus12243 Общие вопросы C/C++ 0 19.01.2011 22:56
Несколько Сортировок в форме. qwerty1301 Microsoft Office Access 12 25.03.2010 09:14
Сравнительный анализ сортировок ttjke Свободное общение 5 09.12.2009 17:40
Сравнение сортировок Паскаль Igomax Помощь студентам 6 24.10.2009 17:58
Время работы сортировок Боня Помощь студентам 1 10.02.2007 17:53