С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Получить новый массив, в котором сначала идут положительные числа, затем нулевые, затем отрицательные исходного дан массив X(N). получить новый массив Y(N), такой, что в нем сначала идут положительные числа, затем нулевые, и затем отрицательные из Х. данные: n=7; Х=(-1,2,0,4,-3,-2,0) https://www.cyberforum.ru/ cpp-beginners/ thread645466.html Найти в матрице квадратную подматрицу C++
дана матрица а(m,n) из 0 и 1. найти в ней квадратную подматрицу из одних единиц максимального размера.
C++ Проверьте правильность написания кода и коментарии Задача: Написать программу которая принимает в качестве аргумента имя файла f с русским текстом и печатает его в точности по одному предложению в строке Желательно подробные комментарии к задаче! Заранее спасибо #include<iostream> #include <fstream> using namespace std; int my_strlen(char *str) { int res=0; while(str) https://www.cyberforum.ru/ cpp-beginners/ thread645458.html C++ Поменять местами пары элементов в массиве https://www.cyberforum.ru/ cpp-beginners/ thread645457.html
дан массив целых чисел. поменять местами пары элементов в массиве: 1 и2,3 и 4,5 и 6 и т.д.
C++ Определить, находится ли точка в треугольнике
заданы прямоугольные координаты Х1,У1,Х2,У2,Х3,У3 вершин треугольника и координаты Х и У точки. определить, находится ли точка в треугольнике
C++ сделать коментарии и проверьте код к задаче ргр по теории информатики Задача: Написать алгоритм который сортирует массив следующим образом: если его длина меньше n то использовать метод пузырьковой сортировки а иначе-метод Хоара. Экспериментальным путём определить оптимальное значение n для типов date int и строк 16 ПРошу сделать коменты желательно поподробнее ну проверить правильность кода. Заранее благодарен тем кто поможет! #include<iostream> #include... https://www.cyberforum.ru/ cpp-beginners/ thread645454.html
C++ факториал https://www.cyberforum.ru/ cpp-beginners/ thread645453.html
сумма факториалов
Последовательность C++
А как вывести на экран самую длинную последовательность?? Не получается!! #include "stdafx.h" #include "iostream" #include "conio.h" using namespace std; int _tmain(int argc, _TCHAR* argv) {
C++ Преобразовать в числа и вычислить арифметическое выражение https://www.cyberforum.ru/ cpp-beginners/ thread645445.html
написать программу, которая просит ввести из 5 знаков состоящую цепочку типа С формата xx+yy или xx-yy , где xx и yy целые двухзначные числа, и считает результат выражения: элементы цепочки хх и уу копируют в новые цепочки (функция strncopy) и превращают в числа (функция atoi) анализировать данной цепочки 3-тий элемент и произвести нужное действие (сумма или вычитание) //c stila...
C++ Вычислить сумму элементов числового массива https://www.cyberforum.ru/ cpp-beginners/ thread645443.html
одномерный и матрицы Добавлено через 2 минуты вычислить сумму элементов числового массива А=(а1,а2,...,аN). данные: N=5, ,А = (3,5,-2,6,3) Добавлено через 49 секунд найти сумму фибоначчи, меньших заданного числа Q.
C++ Решение квадратного уравнения
ax2+bx+c=0 решение зависит от значения дискриминанта D=b2-4ac :  D > 0, 2 разных корня;  D = 0, 1 корень;  D <0, реальных корней нет. Написать программу, которая : написать функцию, которая выводит на экран цепочку/ряд состоящий из 70 звездочек написать функцию, которая решает квадратное уравнение.у функции три параметра:коэфициэнты а и б, с. в функции анализируется дискриминант и...
C++ Ограничение! Может кто-нибудь мне помочь как сделать ограничитель то есть вот у меня код и мне нужно чтоб ______________________________ cmd->buttons &= ~IN_MOVERIGHT; cmd->buttons |= IN_MOVELEFT; ______________________________ Ограничились сколько мне нужно например я напишу ograni4itel "6" и мне нужно чтоб он 6 раз сделал и перестал =) Просто не знаю как объяснить)) Как я сделал он то ваще скрывает от... https://www.cyberforum.ru/ cpp-beginners/ thread645432.html
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
0

Несколько нюансов при использовании <vector> и управляющих инструкций - C++ - Ответ 3409669

01.09.2012, 20:09. Показов 837. Ответов 6
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Пытался решить задачу и напоролся на грабли:
C++
1
2
3
4
5
6
7
8
9
10
11
12
 // вычислим и отобразим сумму каждых смежных элементов в векторе.
  int sum = 0;
  vector<int>::size_type last = ivec.size();
  last = last - 1; // соответствует нумерации объектов начиная с нуля
  for(vector<int>::size_type i = 0; i < ivec.size(); ++i) {
    //    if (!(last % 2)) // работает не корректно
   if (ivec[i+1] > ivec.size()) // количество элементов нечётно
      cout << ivec[i] << " have no pair" << endl;
   else sum = ivec[i] + ivec[i+1];   
   cout << sum << endl;
  }
  cout << endl;
В одном случаи инструкция if работает корректно, а в другой не переходит к следующей инструкции и "зацикливается" пока не пройдёт весь цикл for. Вроде бы во всех случаях при возвращении false должно перейти к следующей инструкции...
И второй момент: в этом же коде выводиться на экран последний объект вектора, хотя цикл уже закончился. Помогите пожалуйста разобраться без всяких "наворотов" - это только 100 страница учебника.

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
49
50
51
52
/* pg. 120; ex. 3.13
Прочитайте в вектор набор целых чисел. Вычислите и отобразите сумму каждой
пары смежных элементов в векторе. Если количество элементов нечётно, сообщите
пользователю от этом и отобразите значение последнего элемента без
суммирования. Отобразите программу так, чтобы она отобразила сумму первого и
последнего элементов, затем сумму второго и последнего и т.д. */
 
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
  int a;
  cout << "Please, enter quantity numbers: " << endl;
  cin >> a;
  vector<int> ivec(a);
 
  cout << "digits are: " << endl;
  // объявим содержимое вектора значениями от 0 до а
  for(vector<int>::size_type i = 0; i != ivec.size(); ++i) {
    ivec[i] = i; /* т.к. в векторе уже инициализированы объекты значением 0,
            просто объявим им новое значение */
    cout << ivec[i] << ' '; // и отобразим значение каждого элемента  
  }
  cout << '\n' << endl;
 
  // вычислим и отобразим сумму каждых смежных элементов в векторе.
  int sum = 0;
  vector<int>::size_type last = ivec.size();
  last = last - 1; // соответствует нумерации объектов начиная с нуля
  for(vector<int>::size_type i = 0; i < ivec.size(); ++i) {
    //    if (!(last % 2)) // работает не корректно
   if (ivec[i+1] > ivec.size()) // количество элементов нечётно
      cout << ivec[i] << " have no pair" << endl;
   else sum = ivec[i] + ivec[i+1];   
   cout << sum << endl;
  }
  cout << endl;
 
  // изменение в программе (см. условие)
  // вычислим и отобразим сумму каждого объекта с последним
  sum = 0;
  last = ivec.size();
  last = last - 1;
  for(vector<int>::size_type i = 0; i < ivec.size(); ++i) {
    sum = ivec[i] + ivec[last];
    cout << sum << endl;
  }
  cout << endl;
  return 0;
}
Результат:
Please, enter quantity numbers: 10

digits are:
0 1 2 3 4 5 6 7 8 9

1
3
5
7
9
11
13
15
17
9

9
10
11
12
13
14
15
16
17
18

Результат 2:
Please, enter quantity numbers: 11

digits are:
0 1 2 3 4 5 6 7 8 9 10

1
3
5
7
9
11
13
15
17
19
10 have no pair
19

10
11
12
13
14
15
16
17
18
19
20

Вернуться к обсуждению:
Несколько нюансов при использовании <vector> и управляющих инструкций C++
0
Заказать работу у эксперта
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.09.2012, 20:09
Готовые ответы и решения:

Access volation при использовании vector
Есть клас в котором обявлен вектор типа string. Когда я пытаюсь его вывести в ListBox вылетает...

Ошибка при использовании vector<bool>
Текст ошибки (Visual studio 2013): Ошибка 2 error C2440: return: невозможно преобразовать...

Ошибка: Out of range при использовании <vector>
void quicksort() { long long arrsize; cout &lt;&lt; &quot;Enter amount of number&gt; &quot;; cin &gt;&gt; arrsize;...

Ошибка при использовании vector в заголовке функции
/home/motoroller/qtProjects/laba1/main.cpp:8: ошибка: 'std::vector' is not a type bool...

6
01.09.2012, 20:09
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.09.2012, 20:09
Помогаю со студенческими работами здесь

Ошибка при использовании erase для std::vector
Почему в случае удаления элемента из вектора с помощью передачи итератора в erase, который...

vector выдает странные строки при использовании push_back
Вот что я получаю *** Error in `./main': double free or corruption (!prev): 0x0000000001994a70...

Vector Graphics ActiveX - множество ошибок при использовании
Уважаемые коллеги, кто-то работал с сием чудом? Vector Graphics ActiveX Сайт...

Ошибка Access Violation при использовании vector внутри класса
Проблема в следующем: имеется пользовательский класс. Три поля в классе - векторы, один из которых...

Вызов конструктора с несколькими параметрами при использовании push_back() в vector'е
Ситуация: #include &lt;vector&gt; class bar { public: bar(); bar(int); bar(int, int);...

Несколько нюансов в плате ASUS B85-PLUS
Собираю такую конфигурацию: Проц. : Intel i5-4570 Кулер для процессора: Zalman CNPS11X Performa...

0
Новые блоги и статьи
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru