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

В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Liy
3 / 3 / 0
Регистрация: 08.06.2011
Сообщений: 11
15.06.2011, 09:44     В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами. #1
В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами.

Помогите, пожалуйста. Хотя бы алгоритмом.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2011, 09:44     В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами.
Посмотрите здесь:

В одномерном массиве А(10) поменять местами элементы стоящие на четных и нечетных местах C++
Найти сумму максимального значения элементов с четными индексами и минимального значения элементов с нечетными индексами в одномерном массиве C++
Воспользовавшись указателями, поменяйте местами элементы массива с четными и нечетными индексами C++
Поменять местами элементы массива с четными и нечетными индексами (через указатели) C++
Поменять местами элементы массива с четными и нечетными индексами используя указатели C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.06.2011, 10:05     В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int main()
{
    int n;
    std::cin >> n;
    float* arr = new float [n];
    for (int i = 0; i < n; ++i)
        std::cin >> arr[i];
    for (int i = 0; i < (n / 2) ; ++i)
    {
        /*float tmp = arr[i * 2];
        arr[i * 2] = arr[i * 2 + 1];
        arr[i * 2 + 1] = tmp;
        std::cout << arr[i * 2] << ' ' << arr[i * 2 + 1] << ' ';*/
        std::cout << arr[i * 2 + 1] << ' ' << arr[i * 2] << ' ';
    }
    if (n % 2)
        std::cout << arr[n - 1];
    system("pause");
    return 0;
}
Добавлено через 43 секунды
меняет при выводе массива.
если надо действительно поменять местами числа, уберите комментарии и последнюю строку в цикле
Liy
3 / 3 / 0
Регистрация: 08.06.2011
Сообщений: 11
15.06.2011, 10:56  [ТС]     В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами. #3
Цитата Сообщение от soon Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int main()
{
    int n;
    std::cin >> n;
    float* arr = new float [n];
    for (int i = 0; i < n; ++i)
        std::cin >> arr[i];
    for (int i = 0; i < (n / 2) ; ++i)
    {
        /*float tmp = arr[i * 2];
        arr[i * 2] = arr[i * 2 + 1];
        arr[i * 2 + 1] = tmp;
        std::cout << arr[i * 2] << ' ' << arr[i * 2 + 1] << ' ';*/
        std::cout << arr[i * 2 + 1] << ' ' << arr[i * 2] << ' ';
    }
    if (n % 2)
        std::cout << arr[n - 1];
    system("pause");
    return 0;
}
Добавлено через 43 секунды
меняет при выводе массива.
если надо действительно поменять местами числа, уберите комментарии и последнюю строку в цикле
Спасибо большое!

Добавлено через 34 минуты
Цитата Сообщение от Liy Посмотреть сообщение
Спасибо большое!
Хм...Она почему-то не запускается...
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
15.06.2011, 11:11     В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами. #4
если работаете в студии, то в начале кода напишите #include "stdafx.h".
код рабочий.
Liy
3 / 3 / 0
Регистрация: 08.06.2011
Сообщений: 11
15.06.2011, 17:24  [ТС]     В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами. #5
Цитата Сообщение от Aneron Посмотреть сообщение
если работаете в студии, то в начале кода напишите #include "stdafx.h".
код рабочий.
Ну я так и делал. Он просто не компилировал.

Ну я потом просто переписал немного, взяв только саму сортировку, программа заработала.
Вот код, может понадобится кому.


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 "stdafx.h"
#include "conio.h"
#include "iostream"
int main()
{
int i,n;
int a[100];
printf(" n="); 
scanf("%i",&n);
 
printf(" Enter elements: ");
for(i=0;i<n;i++) 
scanf("%i",&a[i]);
 
printf("\n New array: ");
for(i=0;i<n;i++) 
{int tmp = a[i * 2];
a[i * 2] = a[i * 2 + 1];
a[i * 2 + 1] = tmp; }
for(i=0;i<n;i++) {
 
printf("%d",a[i]); 
printf(" ");
}
system ("pause");
return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
Yandex
Объявления
15.06.2011, 17:24     В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами.
Ответ Создать тему
Опции темы

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