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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2009, 15:33   #1
Sashko
Пользователь
 
Аватар для Sashko
 
Регистрация: 20.11.2008
Сообщений: 12
По умолчанию массивы ....

Вообшем надо сделать програму , которая б заполнала массив рандомными числами , и эти числа надо посортировать в возрастающем порядке и в спадном .. чета думал думал и никак не придумал как сделать чтобы оно сортировало помогите пожалуйста . Вот массив который заполнается рандомно :


Код:
#pragma hdrstop
#pragma argsused
#include <iostream.h>
#include <stdlib.h>
#include <conio.h.>

void main()
{
int *mas=new int [10];
randomize();
for (int i=0;i<10;i++)
mas[i]=random(11);
for (int i=0;i<10;i++)
cout<<mas[i];
delete []mas;
while (!kbhit());
}

Последний раз редактировалось MaTBeu; 26.03.2009 в 18:16.
Sashko вне форума Ответить с цитированием
Старый 26.03.2009, 15:54   #2
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Сортировка
Код:
...
for(int x=0;x<10;x++)
 for(int y=0;y<9;y++)
   if(mas[y]>mas[y+1]) //Это условие нужно изменить, в соответствии с типом сортировки (по возрастанию или по убыванию)
   {
     int t=mas[y];
     mas[y]=mas[y+1];
     mas[y+1]=t;
   }
З.Ы. Зачем вы используете динамическое распределение памяти, если размерность массива заранее известна? Сделайте просто
Код:
int mas[10];
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 26.03.2009, 16:55   #3
Sashko
Пользователь
 
Аватар для Sashko
 
Регистрация: 20.11.2008
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Blade Посмотреть сообщение
Сортировка
Код:
...
for(int x=0;x<10;x++)
 for(int y=0;y<9;y++)
   if(mas[y]>mas[y+1]) //Это условие нужно изменить, в соответствии с типом сортировки (по возрастанию или по убыванию)
   {
     int t=mas[y];
     mas[y]=mas[y+1];
     mas[y+1]=t;
   }
З.Ы. Зачем вы используете динамическое распределение памяти, если размерность массива заранее известна? Сделайте просто
Код:
int mas[10];

Спасибо но чета оно не правильно сортирует числа ...

Последний раз редактировалось Sashko; 26.03.2009 в 17:04.
Sashko вне форума Ответить с цитированием
Старый 26.03.2009, 21:07   #4
(*_*)
Пользователь
 
Регистрация: 17.02.2009
Сообщений: 30
По умолчанию

Ну вот, как-то так:

Код:
main()
{
int mas[10];
int min, n_min;

cout << "Сгенерированный массив: ";

for (int i=0;i<10;i++)
{
mas[i]= -50 + rand() % 100;
cout << mas[i] << " ";
}
cout << endl << endl;;

cout << "Отсортированный по убыванию: ";

for(int i=0;i<10;i++)
{
for(int j=9;j>=i;j--)
if(mas[j]>mas[j-1])
{
int t=mas[j];
mas[j]=mas[j-1];
mas[j-1]=t;
}
cout << mas[i] << " ";
}
cout << endl << endl;;

cout << "Отсортированный по возрастанию: ";

for(int i=0;i<10;i++)
{
min=mas[i];
n_min=i;
for(int j=i+1;j<10;j++)
{
if(mas[j]<min)
{
min=mas[j];n_min=j;
}
mas[n_min]=mas[i];
mas[i]=min;
}
cout << mas[i] << " ";
}
getch();
}
(*_*) вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
массивы -ushёl- Помощь студентам 14 07.03.2009 21:35
массивы С++ bnv Общие вопросы C/C++ 6 11.02.2009 17:34