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

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

Войти
Регистрация
Восстановить пароль
 
Pro100Tom
69 / 28 / 7
Регистрация: 29.10.2012
Сообщений: 326
#1

Изменение значение элементов листа - C++

21.09.2013, 23:48. Просмотров 405. Ответов 5
Метки нет (Все метки)

Здрасьте. Есть лист, а точнее его адрес:
C++
1
2
void MatrixClass::BuildTransformationMatrix(list<VertexClass> *vList)
{
Как добраться до его элементов и изменить их? Читал про итераторы, но как обычно фиг там разберешься...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2013, 23:48     Изменение значение элементов листа
Посмотрите здесь:

из листа клетчатой бумаги N*N клеток вырезали М клеток . на сколько кусков распадается оставшаяся часть листа? - C++
условие:из листа клетчатой бумаги N*N клеток вырезали М клеток . на сколько кусков распадается оставшаяся часть листа? Первая строка...

Изменение значение указателя в цикле - C++
Добрый день! У меня возникла проблема следущего характера: в цикле for (i=0;i&lt;(n*n);i++) у меня сбивается указатель, тоесть при i=4,...

Изменение значение переменной в одном выражении - C++
Доброго утра! Написала такую нехитрую программку, посмотреть что будет, если вычислить j++ * ++j/j-- * --j... и тут я в ступоре....(((...

Изменение значение аргумента в void-функции - C++
Здраствуйте. У меня к вам будет такой вопрос: void read(Tbig a){ .... .... } В процедуре например там мы что-то делаем... Но...

Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение - C++
Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение ...

Изменение порядка элементов - C++
Дана действительная матрица размером MхN. Расположить элементы прямоугольной матрицы в противоположном порядке, причем сначала расположить...

В заданном массиве из n элементов среди первых n/2 элементов найти минимальное значение - C++
1.В заданном массиве из n элементов среди первых n/2 элементов найти минимальное значение, а в оставшихся- максимальное значение( через...

Определить количество элементов значение которых больше среднего арифметического всех элементов - C++
пределить количество элементов значение которых больше среднего арифметического всех элементов

Найти количество элементов значение которых превышает среднее арифметическое всех элементов - C++
дан целочисленный массив из n элементов. Найти количество элементов значение которых превышает среднее арифметическое всех элементов ...

Найти непрерывный участок из 10 элементов, который имеет наибольшее среднее значение элементов - C++
Найти непрерывный участок из 10 элементов, который имеет наибольшее среднее значение элементов Добавлено через 12 минут Дан массив...

Найти количество элементов массива, не превосходящих среднее значение элементов на главной диагонали - C++
Добрый день. Имеется двумерный массив, представленный квадратной матрицей NxN. В ней нужно найти количество элементов, не превосходящих...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.09.2013, 00:35     Изменение значение элементов листа #2
C++
1
2
3
4
5
6
7
8
void f(std::list<int> *vList)
{
     std::list<int>::iterator it = vList ->begin();
     for ( ; it != vList ->end(); ++it)
     {
        *it += 3;
     }
}
Pro100Tom
69 / 28 / 7
Регистрация: 29.10.2012
Сообщений: 326
22.09.2013, 01:00  [ТС]     Изменение значение элементов листа #3
Спасибо большое, сделал вот так:
C++
1
2
3
4
5
6
7
VertexClass *tempVertex;
    tempVertex = new VertexClass();
    list<VertexClass>::iterator it = vList->begin();
    for (it = vList->begin() ; it != vList ->end(); ++it)
    {
        *it = *tempVertex;
    }
Вроде работает! Мне интересно, сколько примерно вам времени нужно было потратить чтобы изучить так С++? Знаю не по теме, просто я изучаю второй год и каждый раз что-то новое непонятное вылезает.
gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
22.09.2013, 01:06     Изменение значение элементов листа #4
Цитата Сообщение от Pro100Tom Посмотреть сообщение
Спасибо большое, сделал вот так:
Можно так:
C++
1
std::fill(vList.begin(), vList.end(), VertexClass());
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.09.2013, 01:10     Изменение значение элементов листа #5
it два раза инициализировать не нужно.

Не по теме:

Цитата Сообщение от Pro100Tom Посмотреть сообщение
чтобы изучить так С++?
Я плохо знаю С++.
Цитата Сообщение от Pro100Tom Посмотреть сообщение
и каждый раз что-то новое непонятное вылезает.
И у меня так.

Pro100Tom
69 / 28 / 7
Регистрация: 29.10.2012
Сообщений: 326
22.09.2013, 02:40  [ТС]     Изменение значение элементов листа #6
Цитата Сообщение от alsav22 Посмотреть сообщение
it два раза инициализировать не нужно.
Да, вы правы, я просто сначала плохо debug выполнил, подумал, что не совсем правильно считывает элементы). Перед тем как пожаловаться на проблему, перепроверил еще раз. Оказалось, все нормально работает). Исправил инициализацию, теперь один раз инициализирует, как у вас в примере.

Добавлено через 1 час 18 минут
Люди, а вот еще вопрос. Хочу избежать создания лишней переменной. Вот у меня есть точки, которые я считываю с файла. У каждой точки, по три значения. Я потом каждую пропускаю через матрицу. Если перезаписывать эти точки, то выходит так, что... В общем допустим оригинальное число было '2'. А матрица умножает его на 4. То результат будет 8. И я перезаписываю это значение в старую переменную. Таким образом цифра '2' вообще исчезнет. Проблема в том, что мне нужно перемножить эту двойку снова в следующим фрейме скажем на 4.1. Но поскольку, я перезаписал ее значение на 8, то я получу результат (8*4.1 = 32.8), а не 8.4. Понятно, что можно создать переменную запасную. Но я хочу узнать, есть ли способ восстановить значене переменной в определенное время. И если можно, то окупится ли это по скорости? (Да, знаю для рисования 3д моделей лучше использовать гл и директ, но мне сейчас чистый С++ нужен). Спасибо заранее.
Yandex
Объявления
22.09.2013, 02:40     Изменение значение элементов листа
Ответ Создать тему
Опции темы

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