Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 28.07.2019
Сообщений: 24

Не сортруется, почему ?

28.07.2019, 19:25. Показов 1568. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Недавно начал изучать c++.
Знакомясь с масивами столкнулся с задачей: "отсортировать масси так, чтобы сначала были четные, потом нечетные(первые по убвыанию, вторые по возрастнаию, но это в данный момент не имеет значения)".
Я что-то написал, но массив не отсортировался. Уже долгое время не могу это исправить
Вот программа:

#include<iostream>

using namespace std;

int main()
{
int s;
const int n=10;
int i[n];
srand(0);
cout<<"Массив до сортировки:\n ";
int k;
for(k=0;k<=n;k++)
{
i[k]=rand()%12;
cout<<i[k]<<"|";
}
cout<<"\nМассив после сортировки:\n";
for(int f;f<n-1;f++)
{
for(int x=0;x>n-f;x++)
{
if(i[x]%2)
{
i[x-1]=s;
i[x-1]=i[x];
i[x]=s;
}
else
{
i[x+1]=s;
i[x+1]=i[x];
i[x]=s;
}
}
}
for(k=0;k<n;k++)
{
cout<<i[k]<<"|";
}
cout<<endl;
return 0;

}

Боьшая к вам просьба, поясните, что не так.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.07.2019, 19:25
Ответы с готовыми решениями:

Почему то один вопрос всего лишь из списка показывает в тесте, почему?
Тест на проверку знаний. Вопросы берутся из .ini файла зашифрованный смещением xor+2. Шифровальщик прилагается. Почему то один вопрос всего...

Внезапно почему то игры на компьютере начали фризить подлагивать не знаю почему?
Подскажите что не так или программы для теста железа или же как внешне определить неисправность. Проц fx 6300; видеокарта Sapphire nitro...

Почему возможно задать массив с размером -1 (почему такое вообще компилируется)?
Всем привет. Долгое время не писал на плюсах, решил пройтись по основам, вспомнить. По непонятным для меня причинам этот код...

7
45 / 33 / 15
Регистрация: 29.04.2014
Сообщений: 225
28.07.2019, 19:54
Покажите что стандартный выходной поток выдает?
0
Заблокирован
28.07.2019, 20:04
Цитата Сообщение от D303 Посмотреть сообщение
i[x-1]=s;
i[x-1]=i[x];
i[x]=s;
что тут деется?
0
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,082
Записей в блоге: 3
28.07.2019, 20:09
Цитата Сообщение от Pvt Посмотреть сообщение
i[x-1]=s;
i[x-1]=i[x];
i[x]=s;
имелось ввиду, что должно быть так:
C++
1
std::swap(i[x-1], i[x]);
1
260 / 165 / 54
Регистрация: 03.05.2019
Сообщений: 339
28.07.2019, 21:30
Цитата Сообщение от D303 Посмотреть сообщение
for(int f;f<n-1;f++)
Значение f не определено. Дальше идёт инкрементация этой переменной (f++), но как компилятор будет знать к чему +1 прибавлять? Правильно: for(int f = 0; f<n-1; f++), или другое необходимое начальное значение.
0
Заблокирован
28.07.2019, 21:54
Лучший ответ Сообщение было отмечено D303 как решение

Решение

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
    const int n=10;
    int i[n];
    srand(time(0));
    cout<<"Массив до сортировки:\n";
    for(int k=0; k<n; k++)
    {
        i[k]=rand()%12;
        cout<<i[k]<<" ";
    }
    for(int k=n-1; k; k--)
        for(int j=0; j<k; j++)
        if(i[k]%2 ^ i[j]%2)
        {
            if(i[j]%2) swap(i[j],i[k]);
        }
        else
            if(i[j]%2 && i[j]>i[k]) swap(i[j],i[k]);
            else
                if(i[j]%2==0 && i[j]<i[k]) swap(i[j],i[k]);
 
    cout<<"\nМассив после сортировки:\n";
    for(int k=0; k<n; k++)
        cout<<i[k]<<" ";
    cout<<endl;
2
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
28.07.2019, 22:24
del
0
0 / 0 / 0
Регистрация: 28.07.2019
Сообщений: 24
29.07.2019, 01:18  [ТС]
Извините, но не могли бы вы немного объяснить почему это работает?

if(i[k]%2 ^ i[j]%2)
{
if(i[j]%2) swap(i[j],i[k]);
}
else
if(i[j]%2 && i[j]>i[k]) swap(i[j],i[k]);
else
if(i[j]%2==0 && i[j]<i[k]) swap(i[j],i[k]);

Добавлено через 10 минут
Немного по экспериментировав, я понял, как работает ваша программа. Большое вам спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.07.2019, 01:18
Помогаю со студенческими работами здесь

Почему солнце круглое, а небо зеленое. Почему ооп такое странное?
Учил я пхп. Самоучитель PHP 5/6 и сайт метанит. И все было хорошо. Чтобы закрепить основы решил написать что-то такое: 1. Сохранить БД в...

Почему нельзя командой copy скопировать системные файлы на дискету? Почему?
Пожалуйсат, подскажите, весь интернет перерыла, вот почему нельзя? что нельзя знаю, а по какой причине?

Скажите почему например флешка на 4 ГБ а на ней ёмкость всего 3.73 ГБ почему это так?
Скажите почему например флешка на 4 ГБ а на ней ёмкость всего 3.73 ГБ почему это так? Почему не сделают ровно 4 ГБ ну или приближённо к...

Почему смена текста работает только один раз? Что неправильно в коде и почему?
Нужно чтобы при щелчке мыши на поверхности кнопки текст метки Label изменялся на текст окна редактора текста (TextBox). partial class...

Почему невозможно открыть код таким образом и почему форма с ним никак не контактирует
И при двойном клике на элемент, открывается, а точнее переходит, на исходный код. Никак не пойму в чем проблема, а ответ по-любому...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru