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

Отсортировать первую половину массива по возрастанию, а вторую по убыванию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамические массивы http://www.cyberforum.ru/cpp-beginners/thread437690.html
помогите пожалуйста написать функцию для вычисления суммы элементов квадратной матрицы, расположенных ниже главной диагонали. С ее помощью найти максимальное значение такой суммы в n заданных матрицах. очень нужно :gbye:
C++ Вычисления произведенния массива Вычислить произведение всех столбцов массива, у которых первый элемент больше элементов расположенных на главной и побочной диагонали. http://www.cyberforum.ru/cpp-beginners/thread437684.html
C++ красивые кнопки
Господа програмисты есть такой вопрос - иногда в приложениях или чаще в играх встречаются красивые кнопки , так вопрос - их просто нарисовали , затем отседили нажатие мыши , сделали типо она нажимается и затем выполняется какое то действие , или по свойствам кнопка равносильна hButton или другим аналогам?
C++ запись массива в строку - считывание массива из строки.
Под unix на си(не с++). Посоветуйте, как можно реализовать(меня интересуют функции, которые можно использовать для этого)): Есть одномерный массив чисел типа double, мне надо его записать в строку, а потом иметь возможность из строки считать новый массив. 1) Как записывать массив в строку? Какие лучше задать(и как?) разделители? 2) Какой функцией считывать и как определять разделитель? ...
C++ Функция addEven для добавления элементов перед первым элементом с четным значением http://www.cyberforum.ru/cpp-beginners/thread437638.html
Функция addEven для добавления элементов перед первым элементом с четным значением, содержащимся в списке (по одному значению). Сделать это необходимо так что бы работало на Turbo C Код C
C++ Задачи для C++ Приветствую всех. Многие пишут о том как начать изучать С++ и получают ответы в виде списка литературы, порядка изучения итп, но само по себе прочтение ничего не дает, необходимы задачи, решая которые можно набраться опыта. И я прошу привести конкретные примеры таких задач, не элементарных, вроде Hello world, но и не чрезмерно сложных, желательно задействующие разные области языка. подробнее

Показать сообщение отдельно
__bool
285 / 226 / 6
Регистрация: 13.06.2010
Сообщений: 744
30.01.2012, 00:22     Отсортировать первую половину массива по возрастанию, а вторую по убыванию
Вообщем вот консольный вариант:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
const int N=100;
double Arr[N];
int n;
char S[255];
// ÄåëГ*ГҐГ¬ Г§Г*ïðîñ Г§Г*Г*Г·ГҐГ*ГЁГї N(êîë-ГўГ® ýëåìåГ*òîâ Гў Г¬Г*Г±Г±ГЁГўГҐ, ïîêГ* ïîëüçîâГ*òåëü Г*ГҐ ââåäåò êîððåêòГ*îå ÷èñëî)
do {
    CharToOem ("Êîëè÷åñòâî ýëåìåГ*òîâ Гў Г¬Г*Г±Г±ГЁГўГҐ (ГЊГ*êñèìóì 100) = ", S);
    cout << S;
    cin >> n;
}while (n > N || n < 1);
CharToOem ("ÈñõîäГ*ûé Г¬Г*Г±Г±ГЁГў :", S);
cout << endl << S << "\n";
for (int i = 0; i < n; ++i) {  //ГѓГҐГ*ГҐГ°Г*öèÿ Г¬Г*Г±Г±ГЁГўГ* ГЁ âûâîä
     Arr[i]  = random(100);
     cout << Arr[i] << ' ';
}
for (int j = 0; j < (n/2)-1; ++j) //ÑîðòèðîâêГ* ïóçûðüêîì ïåðâîé ïîëîâèГ*Г» ГЇГ® âîçðГ*Г±ГІГ*Г*ГЁГѕ
for (int i = 0; i < (n/2)-1; ++i)
    if (Arr[i] > Arr[i+1]) {
        int x = Arr[i];
        Arr[i] = Arr[i+1];
        Arr[i+1] = x;
    }
for (int j = n/2; j < n-1; ++j) //ÑîðòèðîâêГ* ïóçûðüêîì âòîðîé ïîëîâèГ*Г» ГЇГ® óáûâГ*Г*ГЁГѕ
for (int i = n/2; i < n-1; ++i)
    if (Arr[i] < Arr[i+1]) {
        int x = Arr[i];
        Arr[i] = Arr[i+1];
        Arr[i+1] = x;
    }
CharToOem ("\nÎòñîðòèðîâГ*Г*Г*ûé Г¬Г*Г±Г±ГЁГў :", S);
cout << endl << S << "\n";
for (int i = 0; i < n; ++i)  //Âûâîä îòñîðòèðîâГ*Г*Г*îãî Г¬Г*Г±Г±ГЁГўГ*
     cout << Arr[i] << ' ';
cout << "\n\n\n";
system("PAUSE");
return 0;
}
Добавлено через 5 минут
Serejke_qq, у вас кириллица отображается корректно в консоли? у меня в C++ Builder 6 и XE нет.
И еще.. чето ваш код вообще ничего не выводит после ввода размера массива

Добавлено через 2 минуты
аа.. ну ясно, элементы вводятся пользователем

Добавлено через 3 минуты
Serejke_qq, Строка 23 и 34 - Зачем вы по всему массиву гоните, если сортируете только половину?

И еще.. лучше новичкам сразу привыкать к пре-инкременту, там где пост-инкремент не имеет смысла - экономия времени и памяти
(да, в данном случае экономия мизерна, но в дальнейшем в крупных проектах они потом по-привычке будут использовать пост-инкремент)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru