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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
glushara
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 33
#1

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

26.05.2013, 16:26. Просмотров 323. Ответов 4
Метки нет (Все метки)

В общем дан одномерный массив из 23 элементов.
Нужно вывести элементы массива, которые стоят на нечетных номерах по убыванию или возрастанию(не важно).
Я так понимаю нужно.
1) Задать массив А
2) Создать массив В, который состоит из элементов массива А, только отсортирован.
3) Удалить элементы, которые стоят на нечетных номерах.
так вот если первые два пункта я еще как то реализую с горем пополам, так с третьим беда.
подскажите кто может
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2013, 16:26     Вывести элементы массива, которые стоят на нечетных номерах по убыванию или возрастанию
Посмотрите здесь:

Дан целый массив максимальной размерности 20*20. Провести сортировку по возрастанию в нечетных строках массива и по убыванию в четных строках. C++
C++ Удаление чисел последовательности, которые стоят на нечетных местах
Отсортируйте по возрастанию те элементы массива, которые входят во введенный отрезок C++
C++ Упорядочить по возрастанию все строки двумерного массива, которые неупорядочены по убыванию
Сортировка массива по возрастанию или по убыванию, в зависимости от параметра C++
Элементы массива с нечетных позиций необходимо отсортировать по возрастанию, с четных - по убыванию C++
Отсортировать по убыванию элементы массива слева от случайного числа, и справа - по возрастанию. C++
C++ Вывести слова по возрастанию или убыванию их длин
Вывести нечётные по значению элементы массива по возрастанию, а чётные - по убыванию C++
даны 2 массива,упорядоченные по убыванию,получить из них третий,в котором элементы расположены по возрастанию C++
Отсортировать элементы массива, находящиеся слева от заданного числа по убыванию, а справа по возрастанию C++
C++ Найти минимальный элемент массива и упорядочить все элементы левее его по убыванию, а правее – по возрастанию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
26.05.2013, 16:36     Вывести элементы массива, которые стоят на нечетных номерах по убыванию или возрастанию #2
Цитата Сообщение от glushara Посмотреть сообщение
Нужно вывести элементы массива, которые стоят на нечетных номерах по убыванию или возрастанию(не важно).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <algorithm>
#include <iostream>
 
int main()
{
    const int size = 0x17;
    int arr[size] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
        13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 };
 
    std::sort(arr, arr+size);
 
    for (int i = 0; i < size; i += 2)
        std::cout << arr[i] << ' ';
    std::cout << std::endl;
 
    system("PAUSE");
    return 0;
}
glushara
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 33
26.05.2013, 16:39  [ТС]     Вывести элементы массива, которые стоят на нечетных номерах по убыванию или возрастанию #3
Цитата Сообщение от SeregaC++ Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <algorithm>
#include <iostream>
 
int main()
{
    const int size = 0x17;
    int arr[size] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
        13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 };
 
    std::sort(arr, arr+size);
 
    for (int i = 0; i < size; i += 2)
        std::cout << arr[i] << ' ';
    std::cout << std::endl;
 
    system("PAUSE");
    return 0;
}
элементы вводятся с клавиатуры.
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
26.05.2013, 16:55     Вывести элементы массива, которые стоят на нечетных номерах по убыванию или возрастанию #4
Цитата Сообщение от glushara Посмотреть сообщение
элементы вводятся с клавиатуры.
Первая реализация немного неправильная. Вот исправил:
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
#include <algorithm>
#include <iostream>
 
int main()
{
    const int size = 0x17;
    int arr[size];
 
    std::cout << "ENTER " << size << " ELEMENTS! : ";
    for (int i = 0; i < size; ++i)
        std::cin >> arr[i];
 
    const int size2 = (size/2)+1;
    int arr2[size2];
 
    for (int i = 0, j = 0; i < size2; ++i, j += 2)
        arr2[i] = arr[j];
 
    std::sort(arr2, arr2+size2);
 
    for (int i = 0; i < size2; ++i)
        std::cout << arr2[i] << ' ';
    std::cout << std::endl;
 
    system("PAUSE");
    return 0;
}
glushara
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 33
26.05.2013, 17:06  [ТС]     Вывести элементы массива, которые стоят на нечетных номерах по убыванию или возрастанию #5
Цитата Сообщение от SeregaC++ Посмотреть сообщение
Первая реализация немного неправильная. Вот исправил:
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
#include <algorithm>
#include <iostream>
 
int main()
{
    const int size = 0x17;
    int arr[size];
 
    std::cout << "ENTER " << size << " ELEMENTS! : ";
    for (int i = 0; i < size; ++i)
        std::cin >> arr[i];
 
    const int size2 = (size/2)+1;
    int arr2[size2];
 
    for (int i = 0, j = 0; i < size2; ++i, j += 2)
        arr2[i] = arr[j];
 
    std::sort(arr2, arr2+size2);
 
    for (int i = 0; i < size2; ++i)
        std::cout << arr2[i] << ' ';
    std::cout << std::endl;
 
    system("PAUSE");
    return 0;
}
это сложно для меня)
вот так я создал массив
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdlib.h>
#include<iostream>
int main()
{
    int a[23];
   
    int n,i,j;
  
    for(i=0;i<23;i++)
    {
        std::cin>>a[i];
        }
    for(i=0;i<23;i++)
        std::cout<<a[i]<<" ";  
        
        system("pause");
        return 0;
        }
теперь нужно, что бы вывело еще элементы, которые стоят на нечетных позициях и что бы они были отсортированы
Yandex
Объявления
26.05.2013, 17:06     Вывести элементы массива, которые стоят на нечетных номерах по убыванию или возрастанию
Ответ Создать тему
Опции темы

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