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

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

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

Поставить последний элемент вектора в середину - C++

05.04.2014, 13:52. Просмотров 586. Ответов 5
Метки нет (Все метки)

У меня получилось что просто происходит замена элемента с середины с последним элементом
Подскажите как реализовать вот такую штуку,пример:дан одномерный массив = {1,2,3,4,5}
после обработки по условию должен получится массив = {1,2,5,3,4}

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
42
43
44
45
46
47
48
#include "work__3.h"
int main()
{
    do
    {
    const int N = 20;
    float vektor [N];//Объявление одномерного массива vektor типа float(с плавающей точкой,обычной точности)
    //Ввод Массива
    for ( int i(0) ; i<N ; i++)
    {
        cout << "Enter vector ["<< i <<"]";
        cin >> vektor[i];
    }
    //Вывод Массива
    int i(0);
    do
    {   
        cout << vektor[i] << '\t';
        i++;
    }while (i<N);
    cout << endl;
    cout << "___________________________________________________________________________" << endl;
    //Обработка Массива,Вычисление среднего значения элементов.
    float sum=0.0,average=0.0;
    for ( int j(0) ; j<N ; j++)
    {
        sum+=vektor[j];//Вычисление суммы       
    }
    average = sum / N;//Вычисление среднего
    cout << "Average: " << average << endl;//Вывод среднего значения
    cout << "___________________________________________________________________________"<< endl;
    //Обработка Массива,Поставить последний элемент в середину.
    float tmp;
    tmp = vektor[N-1];
    vektor[N-1] = vektor[N/2];
    vektor[N/2] = tmp;
    //Вывод результата обработки массива
    i=0;
    do
    {
        cout << vektor[i] << '\t';
        i++;
    }while (i<N);
    cout << endl;
    
    }while(true);
    return 0;
}
Добавлено через 2 минуты
Цитата Сообщение от Maxvik_Grunge Посмотреть сообщение
//Обработка Массива,Поставить последний элемент в середину. float tmp; tmp = vektor[N-1]; vektor[N-1] = vektor[N/2]; vektor[N/2] = tmp; //Вывод результата обработки массива i=0; do { cout << vektor[i] << '\t'; i++; }while (i<N); cout << endl;
Вот о чем я говорил),подскажите как сделать правильно по условию
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2014, 13:52     Поставить последний элемент вектора в середину
Посмотрите здесь:

Вывести последний элемент вектора - C++
#include &quot;stdafx.h&quot; #include &quot;../../std_lib_facilities.h&quot; int _tmain(int argc, _TCHAR* argv) { double b; cout &lt;&lt;...

Вывести содержимое списка в следующем порядке: первый элемент, последний элемент, второй элемент, предпоследни - C++
#include &lt;iostream&gt; #include &lt;list&gt; #include &lt;iterator&gt; void output(std::list&lt;int&gt; myList, std::list&lt;int&gt;::iterator iter1,...

Строки. Как найти в слове первый элемент? Второй элемент, последний элемент? - C++
как найти в слове первый элемент?Второй элемент,последний элемент.С помощью каких операторов это делается??

Добавить элемент в середину массива - C++
Всем доброго времени суток. Есть задание: В целочисленном массиве X(N) после каждого положительного числа вставить 0. Т.е. в...

Вставить элемент в середину массива - C++
Здравствуйте! Подскажите, пожалуйста, как вставить элемент в середину массива (не заменить один на другой). Например, если после точки...

Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5) - C++
Ребята помогите пожалуйста с задачкой. Я сам не шарю в C++, но в этом семестре появился этот предмет! И завтра его надо будет сдать :( Буду...

Вставить элемент в середину динамического массива - C++
Условие: Дан одномерный массив, элементы которого - целые числа. Также даны целые числа X и D. Вставьте в заданный массив элемент X после...

Изменение вектора. Наибольший элемент вектора - C++
Добрый день, нужна оценка кода. Пропустил занятия, делал по теории, опирался на массивы. Скажите, правильно ли реализовано? Создать...

Как добавить элемент в очередь, используя указатель на последний элемент? - C++
Не пойму как добавить элемент в очередь используя указатель на последний элемент. Выполняю задание из книги М Доусона с++ и вот реализовать...

Найти максимальный элемент массива и вывести последний четный элемент - C++
Короче нужно чтобы програма нашла максимальный елемент масива и выводила на екран последное четное число масива #include&lt;iostream&gt; ...

Массив: Найти первый отрицательный элемент в каждой строке и последний четный элемент в каждом столбце. - C++
Дан двумерный массив двухбайтовых знаковых целочисленных элементов 5*8. Полагаем,что в каждой строке хотя бы 1 элемент отрицательный,а в...

Задача Иосифа Флавия. Удалить каждый второй элемент из списка и в конце вывести на экран последний оставшийся элемент - C++
Создать циклический список, в котором находятся элементы от 1 до N. Нужно написать программу, которая удаляет каждый второй элемент из...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6277 / 5880 / 1902
Регистрация: 18.12.2011
Сообщений: 15,079
Завершенные тесты: 1
05.04.2014, 14:03     Поставить последний элемент вектора в середину #2
C++
1
2
3
4
5
    float tmp;
    tmp = vektor[N-1];
    for ( int j=N/2 ; j<N-1 ; j++)
        vektor[j+1] = vektor[j];
    vektor[N/2] = tmp;
Maxvik_Grunge
1 / 1 / 0
Регистрация: 10.03.2014
Сообщений: 30
05.04.2014, 15:25  [ТС]     Поставить последний элемент вектора в середину #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
    float tmp;
    tmp = vektor[N];
    vektor[i+1] = vektor[i];
    vektor[N/2] = tmp;  
    i=0;
    do
    {
        cout << vektor[i] << '\t'; 
        i++;
 
    }while(i < N-1);
    cout << endl;
выдает такой результат :
Поставить последний элемент вектора в середину
((
zss
Модератор
Эксперт С++
6277 / 5880 / 1902
Регистрация: 18.12.2011
Сообщений: 15,079
Завершенные тесты: 1
05.04.2014, 15:36     Поставить последний элемент вектора в середину #4
Цитата Сообщение от zss Посмотреть сообщение
for ( int j=N/2 ; j<N-1 ; j++)
куда дели?
Maxvik_Grunge
1 / 1 / 0
Регистрация: 10.03.2014
Сообщений: 30
05.04.2014, 15:39  [ТС]     Поставить последний элемент вектора в середину #5
Дело в том что мне нужно организовать цикл через do while
zss
Модератор
Эксперт С++
6277 / 5880 / 1902
Регистрация: 18.12.2011
Сообщений: 15,079
Завершенные тесты: 1
05.04.2014, 15:42     Поставить последний элемент вектора в середину #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
float tmp;
    tmp = vektor[N-1];
    int j=N/2;
    do
    {
        vektor[j+1] = vektor[j];
        j++;
    }while (j<N-1);
    vektor[N/2] = tmp;
Yandex
Объявления
05.04.2014, 15:42     Поставить последний элемент вектора в середину
Ответ Создать тему
Опции темы

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