Форум программистов, компьютерный форум CyberForum.ru

В заданном массиве отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами. - C++

Восстановить пароль Регистрация
 
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
21.04.2012, 20:25     В заданном массиве отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами. #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
int i;
void main()
{
srand(time(NULL));
const n=7;
int a[n],low,high,tmp;
for (i=0;i<n;i++)
a[i]=rand()%201-100;
for (i=0;i<n;i++)
cout<<setw(4)<<a[i];
cout<<endl;
cout<<”Vvedite 2 chisla cherez probel:;
cin>>low>>high;
for (i=low-1;i<high;i++)
for (j=i+1;j<high;j++)
if (a[j]<a[i])
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
for (i=0;;i<n;i++)
cout<<setw(4)<<a[i]<<’ ‘;
cin.get();
cin.get();
}
как можно написать без введения j и функций?

Добавлено через 1 час 9 минут
отзовитесь!

Добавлено через 23 минуты
кто-нибудь может посмотреть

Добавлено через 1 час 44 минуты
помогите,пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2012, 20:25     В заданном массиве отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами.
Посмотрите здесь:

C++ Отсортировать вставкой массив между элементами с номерами n1 и n2
C++ Массив отсортировать по возрастанию,находящегося между 2 введенными числами
В заданном массиве из n элементов отсортировать по возрастанию его часть C++
C++ В заданном массиве из n элементов отсортировать по возрастанию его часть
прочитать массив из файла и отсортировать его по возрастанию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zewer
 Аватар для zewer
1019 / 710 / 71
Регистрация: 07.01.2011
Сообщений: 5,360
21.04.2012, 20:31     В заданном массиве отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами. #2
C++
1
2
3
4
5
6
7
8
9
for(int i = low; i < high; i++)//зачем берете low-1 ? а если ввести между 0 и 5, например, то что?))
{
if (a[i+1]<a[i+1])//здесь или в первом или в другом должно быть i+1, смотрите по алгоритму, я не вникал в него
{
tmp=a[i];
a[i]=a[+1];
a[i+1]=tmp;
}
}
не внедрялся в алгоритм, склепал за 1 минуту, пробуйте
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.04.2012, 20:31     В заданном массиве отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами. #3
Цитата Сообщение от enota Посмотреть сообщение
помогите,пожалуйста
Вы лучше вопрос сформулируйте правильно:

Цитата Сообщение от enota Посмотреть сообщение
как можно написать без введения j и функций?
- что значит без введения j ? Переменную j нельзя использовать?
- что значит без функций? без каких именно функций?
zewer
 Аватар для zewer
1019 / 710 / 71
Регистрация: 07.01.2011
Сообщений: 5,360
21.04.2012, 20:45     В заданном массиве отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами. #4
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Вы лучше вопрос сформулируйте правильно:


- что значит без введения j ? Переменную j нельзя использовать?
он вроде имел в виду чтоб не использовать цикл в цикле, или что , кароче я даж не внедрялся в алгоритм
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
22.04.2012, 14:22  [ТС]     В заданном массиве отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами. #5
нужно без вложенных циклов
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
22.04.2012, 15:08     В заданном массиве отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами. #6
Без вложенных циклов???
Ну разве что кусорт, хотя и там вложенный цикл.
тогда слияниями разве что сортировать.
кто-нибудь знает сортировку порядка o(N)???
Yandex
Объявления
22.04.2012, 15:08     В заданном массиве отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами.
Ответ Создать тему
Опции темы

Текущее время: 17:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru