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

Обмен положительных элементов в массиве - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти, какое минимальное число поворотов на один зубчик требуется сделать, чтобы шестеренки вернулись в исходное состояние http://www.cyberforum.ru/cpp-beginners/thread678813.html
Даны две сцепленные шестеренки. У одной шестеренки N зубцов, у другой – K. Требуется найти, какое минимальное число поворотов на один зубчик требуется сделать, чтобы шестеренки вернулись в исходное состояние. Формат ввода В единственной строке даны два натуральных числа N и K, каждое из которых не превосходящих 10 миллионов. Формат вывода Выведите искомое количество зубчиков....
C++ преобразование и построение матриц дана действительная квадратная матрица порядка n.найти наибольшее из значений элементов,расположенных в заштрихованной части матрицы http://www.cyberforum.ru/cpp-beginners/thread678806.html
C++ Преобразовать строки в целые числа, просуммировать и вывести сумму 4 значений
Напишите программу, которая вводит 4 строки, представляющие целые значения, преобразует строки в целые числа, суммирует и выводит сумму 4 значений.
C++ Что здесь не правильно?
#include <iosteam.h> int main(){ float x = 1; cout << "sizeof (float) :" << sizeof (float); cout << "\nsizeof x :" << sizeof x; cout << "\nsizeof (x + 1.0) :" << sizeof (x + 1.0); return 0; }
C++ Работа с массивом http://www.cyberforum.ru/cpp-beginners/thread678797.html
Вот написал программу, любой тест , который только не придумаю проходит легко, но проходит только 60 % тестов в тестере. Можете указать мне на неточности и ошибки? Заранее спасибо. Задача. Вводим 2 числа, это будет количество столбцов и строк. Создаем массив такого размера. каждое число массива = номер столбца + номер строки. Если дальше вводим P и 0 , то все элементы 0 строки переносим...
C++ Описать рекурсивную функцию pow(x,n) пожалуйста помогите, не могу сообразить как написать такую вот программу:Описать рекурсивную функцию pow(x,n) от действительного х (х≠0) і целого n, которая подщитивает величину xn согласно формуле: x^n=1, если n=0 x^n=1/x^|n|, если n<0 x^n=x*x^n-1, если n>0. Буду благодарен за любую помощь. подробнее

Показать сообщение отдельно
HomeR_J_SimpsoN
59 / 59 / 2
Регистрация: 15.10.2010
Сообщений: 356
23.10.2012, 22:28     Обмен положительных элементов в массиве
Все просто.
Сначала мы идем с начала массива, как только встретили первый положительный элемент, то начинаем первый положительный элемент искать с конца массива. Как только нашли - меняем местами первый и последний положительные элементы.
Далее по циклу не сбрасывая счетчики.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int i = 0, j = SIZE - 1;
for (i, i < SIZE; i++)
{
    // Идем от начала массива
    if (z[i] > 0)
    {
        // Нашли положительный элемент, идем с конца массива
        // чтобы найти последний положительный элемент
        for (j, j >= 0; j--)
        {
            if (z[j] > 0)
            {
                // Меняем мастами i-ый и j-ый элементы
                int tmp = z[i];
                z[i] = z[j];
                z[j] = tmp;
                break;
            }
        }
    }
    if (i > j)
        break;  // Все элементы уже просмотрены
}
Таким образом мы поменяем местами все пары положительных элементов.
 
Текущее время: 12:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru