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

В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р - C++

Восстановить пароль Регистрация
 
hospik
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 77
10.05.2012, 18:10     В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р #1
В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2012, 18:10     В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р
Посмотрите здесь:

В упорядоченном по убыванию массиве переставить местами максимальный элемент и второй элемент со значением, меньшим Р C++
В упорядоченном по возрастанию массиве перенести в начало первый элемент, значение которого больше минимального. C++
C++ В упорядоченном по убыванию массиве определить, сколько имеется элементов со значением Р
C++ В упорядоченном по убыванию массиве поменять местами минимальный и первый элемент больший Р.
C++ В упорядоченном по убыванию массиве определить сколько имеется элементов со значением Р
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
10.05.2012, 20:39     В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р #2
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 <iterator>
 
bool IsOdd (int i) 
{
    return i%2 == 0;
}
 
 
int main()
{
    int arr[] = {2, 6, 32, 8, 2, 6, 3, 1, 0, 34, 1, 23, 12, 89, 65, 12, 43, 1, 4, 2}, P = 6;
    std::sort(arr, arr + sizeof(arr)/sizeof(arr[0]), std::greater<int>());
    std::copy(arr, arr + sizeof(arr)/sizeof(arr[0]), std::ostream_iterator<int>(std::cout, " "));
    std::cout<< std::endl;
    std::swap( *std::find_if( std::find(arr, arr + sizeof(arr)/sizeof(arr[0]), P) + 1, arr + sizeof(arr)/sizeof(arr[0]), IsOdd), arr[sizeof(arr)/sizeof(arr[0]) - 1]);
    std::copy(arr, arr + sizeof(arr)/sizeof(arr[0]), std::ostream_iterator<int>(std::cout, " "));
    return 0;
}
hospik
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 77
10.05.2012, 20:45  [ТС]     В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р #3
Огромное спасибо но не могли бы вы сделать код полегче
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
10.05.2012, 21:19     В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р #4
Цитата Сообщение от hospik Посмотреть сообщение
Огромное спасибо но не могли бы вы сделать код полегче
какие строки пугают?

Добавлено через 19 минут
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
#include <iostream>
#include <algorithm>
 
int main()
{
    const int N = 10;
    int arr[N] = {10, 9, 8, 7, 6, 5, 3, 3, 2, 1}, P = 5;
    for (int i=0; i < N; i++)
        std::cout<< arr[i]<< " ";
    std::cout<< std::endl;
    for (int i=0; i < N-1; i++)
        if (arr[i] == P)
        {
            for (int j=i + 1; j < N; j++)
                if (arr[j] % 2 == 0)
                {
                    std::swap(arr[j], arr[N-1]);
                    break;
                }
            break;
        }
    for (int i=0; i < N; i++)
        std::cout<< arr[i]<< " ";
    return 0;
}
hospik
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 77
10.05.2012, 21:30  [ТС]     В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р #5
Выдает такие ошибки
c:\program files (x86)\microsoft visual studio\myprojects\sfsfa\sf.cpp(11) : error C2374: 'i' : redefinition; multiple initialization
c:\program files (x86)\microsoft visual studio\myprojects\sfsfa\sf.cpp(8) : see declaration of 'i'
c:\program files (x86)\microsoft visual studio\myprojects\sfsfa\sf.cpp(22) : error C2374: 'i' : redefinition; multiple initialization
c:\program files (x86)\microsoft visual studio\myprojects\sfsfa\sf.cpp(8) : see declaration of 'i'
Error executing cl.exe.

sf.obj - 2 error(s), 0 warning(s)
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
10.05.2012, 21:36     В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р #6
Цитата Сообщение от hospik Посмотреть сообщение
Выдает такие ошибки
c:\program files (x86)\microsoft visual studio\myprojects\sfsfa\sf.cpp(11) : error C2374: 'i' : redefinition; multiple initialization
c:\program files (x86)\microsoft visual studio\myprojects\sfsfa\sf.cpp(8) : see declaration of 'i'
c:\program files (x86)\microsoft visual studio\myprojects\sfsfa\sf.cpp(22) : error C2374: 'i' : redefinition; multiple initialization
c:\program files (x86)\microsoft visual studio\myprojects\sfsfa\sf.cpp(8) : see declaration of 'i'
Error executing cl.exe.

sf.obj - 2 error(s), 0 warning(s)
Вы компилируете файл на языке С, надо С++
hospik
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 77
10.05.2012, 21:42  [ТС]     В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р #7
Нет в С++ 6.0 компилирую
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2012, 21:46     В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р
Еще ссылки по теме:

В упорядоченном по возрастанию массиве перенести в начало первый элемент, значение которого... C++
C++ В упорядоченном по убыванию массиве найти разность между наименьшим значением и последним элементом, большим Р
Первый четный элемент массива C++

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
10.05.2012, 21:46     В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р #8
http://liveworkspace.org/code/e6aec6...33ca1d9f7aa4e6
Yandex
Объявления
10.05.2012, 21:46     В упорядоченном по убыванию массиве перенести в хвост первый четный элемент, стоявший за элементом со значением Р
Ответ Создать тему
Опции темы

Текущее время: 03:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru