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

Найти суммы пар элементов, равноудаленных от начала и конца массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Можно ли динамически выделить память под массив указателей, на объекты класса? http://www.cyberforum.ru/cpp-beginners/thread1752408.html
Прошу прощения если не правильно назвал вопрос. Не знаю как правильно сформулировать. Можно ли строчку VisualizationTools* VT; заменить на чтото вроде VisualizationTools* VT=new VisualizationTools; чтобы программа корректно работала? Мне больше интересно не можно ли а как это реализовать? int main() { system("color F0");//фон-белый, текст-черный //настройка консоли на ввод-вывод русского...
C++ После завершения процесса он остается в режиме ожидания Доброго времени суток! Написал небольшую консольную програмку на C++, работает под убунтой, задача ее простая - читать данные из com порта(ttyUSB) и передавать их по http на сервер, а также по тому же http принимать от сервера команды для передачи в com порт и собственно передавать их. С задачей мое "творение" справляется без особых проблем на протяжении уже довольно длительного времени, но есть... http://www.cyberforum.ru/cpp-beginners/thread1752386.html
Поиск в списке: выводить все совпадения, а не только первое C++
поиск работает, но выводит только первый найденный элемент, а необходимо чтобы выводил все совпадения void poisk(TEST *ptr, string ch) { while (ptr->q_text != ch && ptr->pright->pright) ptr = ptr->pright->pright; if (ptr->q_text == ch) { cout << "The right answer - "; cout << ptr->pright->c_answer << endl; cout << "The wrong answer - "; cout << ptr->pdown->c_answer << endl; }...
C++ Не выводится сообщение о том, что элемент массива не найден
#include "stdafx.h" #include <iostream> #include <math.h> using namespace std; int main() { setlocale(0, "RUS"); int size; int a; double index=0.1;
C++ Ошибка в пирамидальной сортировке http://www.cyberforum.ru/cpp-beginners/thread1752357.html
Сортирую значение столбца в таблице метод пирамидальной сортировки(через подпрограммы siftDown и heapSort), не могу понять, то ли сортируется криво, то ли он не досортировывает до конца. #include <stdio.h> #include <conio.h> int const N = 10; struct elem { float FirstPlace = 0; float LastPlace = 0;
C++ Заполнить массив случайными числами, вывести элементы массива в 2 строки помогите пожалуйста. (заполнить массив S(1..20) случайным образом числами из интервала от 0 до 100. Вывести элементы массива в 2 строки) заранее спасибо! подробнее

Показать сообщение отдельно
VKVA
0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 3
02.06.2016, 11:38     Найти суммы пар элементов, равноудаленных от начала и конца массива
Приветствую!
Вот задание из учебника:
1.Прочитайте в вектор набор целых чисел. Вычислите и отобразите сумму каждой пары смежных элементов в векторе.
2.Если количество элементов нечётно, сообщите пользователю от этом и отобразите значение последнего элемента без суммирования.
3.Отобразите программу так, чтобы она оотбразила сумму первого и последнего элементов, затем сумму второго и предпоследнего и т.д.

Первые два вопроса решил самостоятельно. Не знаю насколько правильно, но работает. А на третьем застрял. Дело в том, что нужно решить без итераторов, а с помощью индексирования, т.к. это задание дается до разбора темы с итераторами.

Вот такой код написал для подсчета. Первый вариант через for. Но он ничего не делает вообще. Задумка была в том, чтобы складывать элементы навстречу друг другу. И хотя циклы должны пройти не до середины длины вектора, а один от начала до конца, а второй от конца до начало и это неправильно, но если бы этот код работал, можно было бы его как-то совершенствовать. А он не работает.
Второй вариант пробовал через if. Но этот вообще ошибку выдает.
Подскажите, пожалуйста, где ошибка и как вообще это сделать?
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
#include<iostream>
#include<vector>
using namespace std;
 
int main(){
    int ins;
    vector<int>fvec;
    
    cout<<"Enter memeber of the vector:\n";
    while(cin>>ins)
    fvec.push_back(ins);
    
    cout<<"The elements of this vector are: ";
    for(int i=0; i!=fvec.size(); ++i)
    cout<<fvec[i]<<" ";
    
    for(vector<int>::size_type ind=0; ind!=fvec.size(); ++ind) // здесь перебор от первого индекса до последнего
    for(vector<int>::size_type ind2=fvec.size()-1; ind2=0; --ind2) // здесь перебор от последнего индекса до первого
    cout<<fvec[ind]+fvec[ind2]; // здесь сумма первого и последнего, второго и предпоследнего и т.д.
    
    if(vector<int>::size_type ind<=fvec.size()/2) // здесь попытка пройти до середины вектора и так же сложить элементы
    if(vector<int>::size_type ind2>=fvec.size()/2)
    cout<<fvec[ind]+fvec[ind2];
    
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru