Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 23.10.2015
Сообщений: 18

Ошибка с итераторами для целочисленного вектора и вектора структуры

04.10.2016, 18:29. Показов 952. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь разобраться с векторами. Для динамической работы с памятью вещь, вроде, замечательная и удобная. Только необходимо использовать итераторы, с которыми у меня в программе возникли небольшие проблемы.
Предположим:
мне надо создать целочисленный вектор, записать в него, например, два элемента, далее вывести на экран.
потом создать еще один вектор структуры, содержащей такие поля: аргумент функции и сама функция, зависящая от аргумента.
Так вот, ориентируясь на информацию из Интернета, я написал код:
C++ (Qt)
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
// iteratori.cpp: главный файл проекта.
 
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <vector>
using namespace System;
using namespace std;
 
struct func {
    int x;
    float y;
};
 
void main()
{
    vector<int> a;
    vector<func> b;
    a.push_back(10);
    a.push_back(20);
    for (vector<int>::iterator it0 = a.begin; it0 != a.end; it0++)
    {
        cout << *it0 << endl;
    };
 
    func buf;
    b.push_back(buf);
    b.push_back(buf);
    b.push_back(buf);
 
    for (vector<func>::iterator it1 = b.begin; it1 != b.end; it1++)
    {
        cout << "vvedite iks";
        cin >> *it1.x >> endl;
        *it1.y = *it1.x / *it1.x - 0.1;
    }
}
Но C++ ругается. Во-первых, ругается на 21 строку, пишет "нестандартный синтаксис, используйте & чтобы создать указатель на член". Странно, я делал целиком по другим примерам итераторов.
Во-вторых, пишет, что it1 не содержит поля x и y. Как не пытался - и в скобки (it1.x) брал, и даже знак & ставил - ничего.
Как обращаться к конкретному полю структуры, на которую ссылается итератор?
Пытался найти информацию об Итераторах в Интернете, но почти ничего не нашел. Подскажите, пожалуйста, кто немного разбирается в итераторах.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.10.2016, 18:29
Ответы с готовыми решениями:

Найти выражение для: вектора скорости; вектора ускорения; модуля радиус-вектора
Товарищи, помогите пожалуйста решить. Радиус-вектор материальной точки задается выражением: r=(t^2+2)i+(3t^2+4)j Найти...

Все элементы целочисленного вектора a размерности N, для которых справедливо условие ai=i, заменить нулем
задача есть решенная, но препод просить сделать ее в столбце начиная с ячейки (3,2) и что бы элемент в этой ячейке считался первым в...

Ошибка при объявлении вектора- поля структуры
при объявлении вектора полем структуры компилятор выдает ошибку C2059 в месте, где задается размер вектора: причем при объявлении...

3
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
04.10.2016, 18:56
Мой C++Builder 6 указал мне на ошибки. Вот эти строки должны быть написаны вот так:
Строка 21:
C++
1
for(vector<int>::iterator it0 = a.begin(); it0 != a.end(); it0++)
Та же самая ошибка и в строке 31, begin() и end() должны быть написаны со скобками:
C++
1
for(vector<func>::iterator it1 = b.begin(); it1 != b.end(); it1++)
Также нужно переписать строки 34 и 35:
C++
1
2
cin >> it1->x;
it1->y = it1->x / it1->x - 0.1;
1
04.10.2016, 19:29

Не по теме:

Цитата Сообщение от DemolitionMan Посмотреть сообщение
Мой C++Builder 6
:D Весомо.

0
0 / 0 / 1
Регистрация: 23.10.2015
Сообщений: 18
04.10.2016, 19:31  [ТС]
DemolitionMan, уфф, спасибо огромное! Как всегда, все оказалось довольно просто...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.10.2016, 19:31
Помогаю со студенческими работами здесь

Как обозначить значения внутри вектора для другого вектора итератором?
Например, в одном векторе есть числа 1, 3, 4. В другом векторе их 5: 25 95 45 65 75. Как сделать так, чтобы во втором векторе удалились...

Вычисление вектора значений функции для нового вектора аргумента
Здравствуйте господа. При вычислении значений функции для нового вектора вместо значений в &quot;Р&quot; стоят нули.

Class A { хранит координаты радиуса-вектора (х,у) и имеет метод для вычисления длины вектора
class A { хранит координаты радиуса-вектора (х,у) и имеет метод для вычисления длины вектора class B-наследник А,имеет метод для...

Определить для заданных векторов длину каждого вектора и найти номер самого длинного вектора
Создайте структуру Вектор с элементами x, y, z – декартовые координаты. Определить для M заданных векторов длину каждого вектора и найти...

Составить главную программу и функцию. Для данного вектора А(М) найти количество неповторяющихся элементов вектора
Здравствуйте. Буду очень благодарен,если кто нибудь напишет два кода к этим задачам. Спасибо за внимание. Задача 1. Составить...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru