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

Третий положительный элемент поменять местами с последним элементом массива

22.11.2016, 23:26. Показов 1507. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Третий положительный элемент поменять местами с последним элементом массива.

Помогите, буду очень благодарен.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.11.2016, 23:26
Ответы с готовыми решениями:

Поменять местами минимальный элемент с первым элементом массива, а максимальный элемент с последним
Здравствуйте. Помогите пожалуйста написать программу: для поиска минимального и максимального элементов массива из 15 действительных чисел....

Найти первый максимальный элемент и поменять его местами с последним элементом массива
Задача: Сформируйте массив из 6 элементов, организовав ввод данных с консоли. Подсчитайте сумму элементов массива, стоящих на нечетных...

Найти максимальный и минимальный элемент в каждой строке массива и поменять местами с первым и последним элементом
Дана матрица M*N. Нужно найти максимальный и минимальный элемент в каждой строке массива и поменять местами с первым и последним элементом...

2
18 / 18 / 12
Регистрация: 06.10.2015
Сообщений: 94
22.11.2016, 23:45 2
Вот
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
#include <iostream>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    
    int size;
    std::cout << "Введите размер массива: ";
    std::cin >> size;
 
    double* arr = new double[size];
 
    int temp = 0;
 
    std::cout << "Введите элементы массива: ";
 
    for (size_t i = 0; i < size; i++)
    {
        std::cin >> arr[i];
    }
 
    for (size_t i = 0; i < size; i++)
    {
        if (temp != 3)
        {
            if (arr[i] > 0)
            {
                temp++;
                continue;
            }
        }
 
        else
        {
            std::swap(arr[i], arr[size - 1]);
            break;
        }
    }
 
    return 0;
}
Добавлено через 10 минут
Тут у меня ошибка
там не
C++
1
 std::swap(arr[i], arr[size - 1]);
а
C++
1
 std::swap(arr[i - 1], arr[size - 1]);
1
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
23.11.2016, 00:01 3
Лучший ответ Сообщение было отмечено DeUSER как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
using namespace std;
int main() {
    vector<int>val= {-1,2,-23,-3,-6,-7,-8,3,-3,-3,9,0};
    vector<int>::iterator it=val.begin();
    for(int i=0; i!=3; i++) {
        it=find_if(it+1,val.end(),[](const int &x) {
            return x>0;
        });
    }
    cout<<*it<<endl;
    iter_swap(it,val.end()-1);
    copy(val.begin(),val.end(),ostream_iterator<int>(cout," "));
    return 0;
}
Добавлено через 15 минут
Ошибся с начала
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
using namespace std;
int main() {
    vector<int>val= {1,2,-23,-3,-6,-7,-8,3,-3,-3,9,0};
    vector<int>::iterator it=val.begin();
    vector<int>::iterator iter=val.begin();
    for(int i=0; i!=3; i++) {
        it=find_if(iter,val.end(),[](const int &x) {
            return x>0;
        });
        iter=it+1;
    }
    cout<<*it<<endl;
    iter_swap(it,val.end()-1);
    copy(val.begin(),val.end(),ostream_iterator<int>(cout," "));
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.11.2016, 00:01
Помогаю со студенческими работами здесь

В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом
В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом Помогите, пожалуйста #include...

Поменять местами максимальный элемент матрицы с его первым элементом а минимальный с последним
ДВУМЕРНЫЙ МАССИВ: Поменять местами максимальный элемент матрицы F(k,p)в его первым элементом, а минимальный элемент – с последним. Найти...

Найти максимальный по абсолютной величине элемент и поменять его местами с последним элементом матрицы
&quot;Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов. Найти максимальный по абсолютной величине элемент и...

Поменять местами наименьшее значение массива с последним элементом (с указателями)
В массиве C из N элементов найти элемент, имеющий наименьшее значение и поменять его местами с последним элементом. Значение N задать при...

Максимальный элемент массива поменять с последним элементом
Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов. Найти максимальный по абсолютной величине элемент и...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
std::mutex в C++: Хитрости и тонкости использования
Wired 03.03.2025
В C++ ключевым инструментом для обеспечения корректной работы параллельных процессов выступает std::mutex – примитив синхронизации, появившийся в стандарте C++11. До его появления использовали. . .
std::span в C++: Производительно­сть и практическое использование
Wired 03.03.2025
Традиционная работа с указателями и массивами часто приводит к ошибкам и уязвимостям в безопасности. Именно поэтому в C++20 появился std::span - легковесная обертка, обеспечивающая безопасный. . .
std::span в C++: Константность и безопасность типов
Wired 03.03.2025
std::span - представитель семейства view-типов, появившийся в стандарте C++20. Этот компонент предоставляет легковесное и эффективное решение для работы с непрерывными последовательностями данных,. . .
std::span в C++: Subview и Slice
Wired 03.03.2025
std::span - невладеющий тип данных C++, который предоставляет гибкий интерфейс для работы с непрерывными последовательностями элементов. Этот тип существенно упрощает обработку массивов и. . .
std::span в C++: Доступ к элементам и итерирование
Wired 03.03.2025
Появление std::span в стандарте C++20 стало значительным шагом вперед, предоставив разработчикам средство для безопасного и производительного доступа к непрерывным последовательностям элементов. . . .
std::span в C++: Управление массивами данных без владения
Wired 03.03.2025
Новый класс std::span, появившийся в стандарте C++20, открывает возможности для оптимизации работы с последовательными наборами данных. По сути, это легковесная обертка, которая предоставляет доступ. . .
Неблокируемый стек в C++26: реализуем простой сборщик мусора
stackOverflow 02.03.2025
Многопоточные приложения требуют надежных и производительных структур данных, способных эффективно работать в условиях конкурентного доступа. Неблокируемые структуры данных представляют собой особый. . .
Шаблон REQ/REP в ZeroMQ: сверхбыстрый обмен сообщениями в C++ и Python
stackOverflow 02.03.2025
Построение высоконагруженных распределенных систем требует надежного и производительного механизма обмена сообщениями. ZeroMQ выделяется среди прочих решений своей невероятной скоростью работы и. . .
Нестандартные приемы работы с итераторами в C++
stackOverflow 02.03.2025
Итераторы - один из краеугольных камней C++, предоставляющий универсальный механизм обхода и манипуляции данными в контейнерах. Появившись как замена небезопасным указателям, они эволюционировали от. . .
Лексический анализ и регулярные выражения в C++26
stackOverflow 02.03.2025
Лексический анализ - ядро любого компилятора и инструмента обработки текста. Каждый программист сталкивается с задачами парсинга строк, обработки файлов конфигурации или анализа пользовательского. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru