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

Поиск второго минимума в массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить и вывести на экран в виде таблицы значения функции http://www.cyberforum.ru/cpp-beginners/thread1134967.html
#include <iostream> #include <conio.h> #include <math.h> #include <iomanip> #include <locale> #include <Windows.h> using namespace std; // int main() {//начало кода функции main
C++ Проверка числовой ли ввод Здравствуйте! Задача такая. Написать программу, читающую в массив double до 10 значений пожертвований. ПРограмма должна прекращать ввод при получении нечисловой величины. Она должна выдавать среднее... http://www.cyberforum.ru/cpp-beginners/thread1134953.html
C++ Дано число t, означающее время в минутах прошедшее с начало очередного часа. Определить цвет сигнала светофора
Вобщем, задача такая: Работа светофора для водителей запрограммирована следующим образом: начиная с начала каждого часа в течении 3 минут горит зеленый цвет, затем в течении одной минуты горит желтый...
C++ Поиск совпадений в файле
Здравствуйте. Есть текстовый документ с названиями файлов, каждое в своей строке. Нужно найти все совпадения и либо вывести их на экран, либо в другой файл. Подскажите в какую сторону смотреть....
C++ Создать массив структур, содержащих сведения о различных товарах в магазинах города http://www.cyberforum.ru/cpp-beginners/thread1134926.html
Создать массив структур, содержащих сведения о различных товарах в магазинах города. Каждая запись содержит поля: -название товара; -название массива, в котором продаётся товар; -стоимость товара...
C++ Найти произведение/ С++ для начинающих Вычислить П(в числителе n, в знаменателе i-1) (2+1/i!) подробнее

Показать сообщение отдельно
Мотороллер
428 / 240 / 37
Регистрация: 05.08.2013
Сообщений: 1,647
Завершенные тесты: 1
31.03.2014, 17:19  [ТС]
в оригинале задание звучит так: нужно первый минимум поставить на первое место, второй на последнее и так далее (третий минимум на второй, четвертый на предпоследнее)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for (i=0; i<M/2; i++)
    {
        first_min=i;
        second_min=M-i-1;
        for (j=i+1; j<M-i-1; j++)
            if (massiv[j] < massiv[first_min])
            {
                second_min=first_min;
                first_min=j;
            }
        int tmp=massiv[i];
        massiv[i]=massiv[first_min];
        massiv[first_min]=tmp;
 
        tmp=massiv[M-i-1];
        massiv[M-i-1]=massiv[second_min];
        massiv[second_min]=tmp;
    }
фишка в том, что если считать вторым минимумом элемент massiv[i], то прога зеркально меняет местами массив (первый элемент <-> последний элемент), а если так как сейчас, то массив остается без изменений. на входе массив из 4 элементов: 1 2 3 4

Добавлено через 15 секунд
М - длинна массива, тобишь 4
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru