1 / 1 / 2
Регистрация: 19.02.2011
Сообщений: 70

Вывести вначале его элементы с четными номерами, а затем — элементы с нечетными номерами

16.05.2011, 21:26. Показов 3379. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый вечер!!!Если есть минутка, помогите сделать эти задания!буду очень благодарен!!

1. Дан массив A размера N. Вывести вначале его элементы с четными номерами (в порядке возрастания номеров), а затем — элементы с нечетными номерами (также в порядке возрастания номеров): A2, A4, A6, …, A1, A3, A5, … .

2. В упорядоченном по убыванию массиве переставить места ми максимальный элемент и второй элемент со значением, меньшим Р.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.05.2011, 21:26
Ответы с готовыми решениями:

Вывести вначале элементы с четными номерами, а затем с нечетными (все в порядке возрастания)
Здравствуйте, ув. програмисты.. Раньше меня этот форум выручал, и сейчас надеюсь выручит... Я уже встречал тут это задание... Но это...

Вывести сначала элементы массива с четными номерами, а затем - с нечетными номерами
Дан массив А размера N.Вывести вначале его элементы с четными номерами(в порядке возрастания номеров),а затем-элементы с нечетными...

Одномерный массив. Вывести его элементы сначала с четными, потом нечетными номерами
Дан целочисленный массив A размера N.переписать в новый массив В того же размера вначале все элементы исходного массива с четными...

7
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
16.05.2011, 21:37
1.
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
#include <iostream>
#include <iterator>
#include <algorithm>
#include <functional>
 
struct PrintNums : std::unary_function<int,bool>
    {
    PrintNums(bool act)
        : _act(act)
        {
        idx = 0;
        }
    bool operator() (int)
        {
        ++idx;
        return _act == true ? idx % 2 == 0 : idx % 2 != 0;
        }
    static int idx;
    bool _act;
    };
 
int PrintNums::idx;
 
int main()
    {
    const size_t N = 10;
    int A[N] = { 1, 2, 3, 4, 5, 6 , 7, 8, 9, 10 };
    std::copy_if(A, A + N, std::ostream_iterator<int>(std::cout, " "),PrintNums(true));
    std::cout << std::endl;
    std::copy_if(A, A + N, std::ostream_iterator<int>(std::cout, " "),PrintNums(false));
    std::cout << std::endl;
    }
1
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
16.05.2011, 21:41
Цитата Сообщение от Дмитрий12 Посмотреть сообщение
1. Дан массив A размера N. Вывести вначале его элементы с четными номерами (в порядке возрастания номеров), а затем — элементы с нечетными номерами (также в порядке возрастания номеров): A2, A4, A6, …, A1, A3, A5, … .
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
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    srand(time(NULL));
    int *arr;
    int size,cnt=1;
    std::cout<<"Enter size of array -> ";
    std::cin>>size;
    arr = new int[size];
    std::cout<<"Array -> ";
     for(int i=0; i<size; i++)
     {
         arr[i]=rand()%99;
         std::cout<<arr[i]<<" ";
     }
    std::cout<<"\nOutput -> ";
     for(int i=0; i<size; i+=2)
     {
         std::cout<<arr[i]<<" ";
          if((i==size-2) && cnt)
          {
              i=-1;
              cnt=0;
          }
     }
     delete [] arr;
     system("pause");
     return 0;
}
1
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
16.05.2011, 22:02
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
#include <iostream>
#include <iterator>
#include <algorithm>
#include <functional>
 
template <typename Pred>
inline
int * find_second_if(int * begin, int * end, Pred pred)
    {
    for(int _idx = 0; begin != end; ++begin)
        {
        if(pred(*begin) && ++_idx == 2)
            break;
        }
    return begin;
    }
 
int main()
    {
    const size_t N = 10;
    int A[N] = { 1, 2, 3, 4, 5, 6 , 7, 8, 9, 10 };
    int P;
 
    std::cin >> P;
    
    std::sort(A,A + N,std::greater<int>());
    std::swap(*std::max_element(A,A + N),*find_second_if(A, A + N, std::bind2nd(std::less<int>(),P)));
    std::copy(A,A + N, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    }
2
1 / 1 / 2
Регистрация: 19.02.2011
Сообщений: 70
17.05.2011, 00:15  [ТС]
Цитата Сообщение от MILAN Посмотреть сообщение
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
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
 srand(time(NULL));
 int *arr;
 int size,cnt=1;
 std::cout<<"Enter size of array -> ";
 std::cin>>size;
 arr = new int[size];
 std::cout<<"Array -> ";
 for(int i=0; i<size; i++)
 {
 arr[i]=rand()%99;
 std::cout<<arr[i]<<" ";
 }
 std::cout<<"\nOutput -> ";
 for(int i=0; i<size; i+=2)
 {
 std::cout<<arr[i]<<" ";
 if((i==size-2) && cnt)
 {
 i=-1;
 cnt=0;
 }
 }
 delete [] arr;
 system("pause");
 return 0;
}
Вопрос? почему С++ ругается на эту строчку:
C++
1
for(int i=0; i<size; i+=2)
?
А когда стераю ее то работает=(О_о!!!
Вот сама ошибка: error C2374: 'i' : redefinition; multiple initialization
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
17.05.2011, 00:17
Дмитрий12,
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
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
 srand(time(NULL));
 int *arr;
 int size,cnt=1,i;
 std::cout<<"Enter size of array -> ";
 std::cin>>size;
 arr = new int[size];
 std::cout<<"Array -> ";
 for(i=0; i<size; i++)
 {
 arr[i]=rand()%99;
 std::cout<<arr[i]<<" ";
 }
 std::cout<<"\nOutput -> ";
 for(i=0; i<size; i+=2)
 {
 std::cout<<arr[i]<<" ";
 if((i==size-2) && cnt)
 {
 i=-1;
 cnt=0;
 }
 }
 delete [] arr;
 system("pause");
 return 0;
0
1 / 1 / 2
Регистрация: 19.02.2011
Сообщений: 70
23.05.2011, 22:52  [ТС]
Цитата Сообщение от Ma3a Посмотреть сообщение
1.
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
#include <iostream>
#include <iterator>
#include <algorithm>
#include <functional>
 
struct PrintNums : std::unary_function<int,bool>
    {
    PrintNums(bool act)
        : _act(act)
        {
        idx = 0;
        }
    bool operator() (int)
        {
        ++idx;
        return _act == true ? idx % 2 == 0 : idx % 2 != 0;
        }
    static int idx;
    bool _act;
    };
 
int PrintNums::idx;
 
int main()
    {
    const size_t N = 10;
    int A[N] = { 1, 2, 3, 4, 5, 6 , 7, 8, 9, 10 };
    std::copy_if(A, A + N, std::ostream_iterator<int>(std::cout, " "),PrintNums(true));
    std::cout << std::endl;
    std::copy_if(A, A + N, std::ostream_iterator<int>(std::cout, " "),PrintNums(false));
    std::cout << std::endl;
    }
Ругается на copy_if : copy_if' : undeclared identifier
0
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
23.05.2011, 23:52
Дмитрий12, зависит от компилятора, видимо, у вас этой функции нет. Тогда можно заменить на самодельный вариант copy_if, что-нибудь вроде такого
C++
1
2
3
4
5
6
7
8
9
10
11
12
template <typename InIt, typename OutIt, typename Pred>
OutIt copy_if ( InIt first, InIt last, OutIt result ,Pred pred)
    {
    while (first!=last) 
        {
        if(pred(first))
            *result++ = *first++;
        else
            ++first;
        }
    return result;
    }
Добавлено через 44 минуты
Звёздочку по невнимательности пропустил одну. Будет верно, если сделать "if(pred(*first))".
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.05.2011, 23:52
Помогаю со студенческими работами здесь

Вывести сначала элементы массива с четными номерами, а потом - с нечетными
Дан массив A размера N. Вывести вначале его элементы с четными номерами (в порядке возрастания номеров), а затем — элементы с нечетными...

Сформировать массив, у которого вначале расположены элементы массива А с нечетными индексами, затем с четными
Дан массив А(20). Найти максимальный элемент среди положительных элементов массива А и сформировать массив Р(20), у которого вначале...

Переписать в другие массивы элементы с четными/нечетными порядковыми номерами
Помогите написать код для решения сей задачи, пожалуйста. Дан массив b0, b1,…, b2n-1. Написать программу построения новых ...

Сформировать два массива: в первый включить элементы с четными номерами, а во второй — с нечетными
Задан массив с количеством элементов N. Сформировать два массива: в первый включить элементы исходного массива с четными номерами, а во...

Переписать в другой массив все элементы исходного массива с четными номерами, а потом с нечетными
Задано массив целых чисел А размерностью N. Переписать в новый массив целых чисел С той же размерности сначала все элементы исходного...


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

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

Новые блоги и статьи
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub Примеры вызова: # Указанная валюта 'EUR' floatrates-rub -Code 'EUR' # Список имеющихся кодов валют floatrates-rub -Available function floatrates-rub {
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5 Примеры вызова Get-WeatherRP5rss с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr Примеры вызова: Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) { $url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js' $data = Invoke-RestMethod -Uri $url $esc = 27 . . .
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru