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

АТД список. Замена элементов в списке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировки. Проблемы с памятью http://www.cyberforum.ru/cpp-beginners/thread357358.html
#include <time.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> unsigned int count; struct stack {int left; int right;}st; void Input(int *k, int n)
C++ динамическое приведение полиморфных объектов Есть иерархия классов Shape: 1. TwoDimensionalShape: circle, triangle, rectangle 2. ThreeDimensionalShape: sphere, cube, tetrahedron У shape есть чисто виртуальная функция getArea, тоже самое у TwoDimensionalShape, а у ThreeDimensionalShape есть еще и getVolume. Так вот вопрос: как в цикле распечатать объекты, на которые указывают элементы вектора указателей Shape, чтобы для... http://www.cyberforum.ru/cpp-beginners/thread357342.html
Найти сумму чисел, не делящихся на 2 и 11 C++
Дана последовательность натуральных чисел {Aj} не более 20 элементов. Найти сумму чисел, не делящихся на 2 и 11, наибольшее из таких чисел, и номер этого числа в последовательности.
Определение границ типов данных C++
Задача такова. Требуется определить максимальные границы для основных типов данных, т.е. int, double, char, float. Вот набросал, в принципе все работает, но препод сказал, что можно загнать все в какую-то функцию size of или как-то так и получится универсальная программа. Подскажите как это можно исправить. #include <iostream> using namespace std; int main() { int i, N, a;
C++ Создание динамического массива в структуре http://www.cyberforum.ru/cpp-beginners/thread357328.html
Здравствуйте уважаемые форумчане. Вот код моей структуры- в будущем это динамический стек(без использования классов). Почему у меня не получается выделить память для значения stack->value. Компилятор пишет Unit1.cpp(26): E2034 Cannot convert 'int *' to 'int' struct St { int value; int kol; int gol; } ; //------------------------------ //------------------------------
C++ Логистические выражения ветвления Доброго всем вечера! Опять очень нужна помощь уважаемых форумчан :) 1) Поле шахматной доски определяется парой натуральных чисел (номер вертикали – номер горизонтали) из диапазона 1-8. На поле (k, l) стоит слон, на поле (m, n) – конь. Определить, бьет ли слон коня, конь – слона или фигуры не угрожают друг другу. 2) Вычислить значение выражения (A & В) ^ С, где А – порядковый номер цифры... подробнее

Показать сообщение отдельно
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
28.09.2011, 00:14     АТД список. Замена элементов в списке
Каждое следующее чётное число на два больше предыдущего. Соответственно, инкрементируйте итератор два раза, чтобы прыгать по чётным позициям:

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
#include <iostream>
#include <list>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
int main( )
{
    srand( time(0) );
 
    list<char> lst;
    int lng;
 
    cout << "List length: ";
    cin >> lng;
 
    for( int i = 0; i < lng; i++ )
       lst.push_back( rand() % ('z' - 'a') + 'a' );
 
    for( list<char>::iterator it = lst.begin(); it != lst.end(); it++ )
       cout << *it << ' ';
 
    char ch;
    cout << "\nEnter a character: ";
    cin >> ch;
 
    for( list<char>::iterator it = lst.begin(); it != lst.end(); it++, it++ )
    {
       if( *it == ch )
          *it = '#';
    }
 
    for( list<char>::iterator it = lst.begin(); it != lst.end(); it++ )
       cout << *it << ' ';
 
    return 0;
}
Следите за тем, с чего у вас нумерация. 0 считается чётным, 1 - нечётным. В моём примере нумерация с нуля.

Добавлено через 1 минуту
Отлаживайте на длинах больше 50, чтобы видеть эффект
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru