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

Уроки по C++ для самых маленьких - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ АТД список. Замена элементов в списке http://www.cyberforum.ru/cpp-beginners/thread357379.html
Здравствуйте. Нужна ваша помощь! Подскажите пожалуйста как заменить элементы в списке которые стоят на четных позициях? Суть примера такова!! Пользователь вводит символ 'Х' и если есть такой символ на четных позициях в списке, то его заменить на "Y".
C++ Сортировки. Проблемы с памятью #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) http://www.cyberforum.ru/cpp-beginners/thread357358.html
C++ динамическое приведение полиморфных объектов
Есть иерархия классов Shape: 1. TwoDimensionalShape: circle, triangle, rectangle 2. ThreeDimensionalShape: sphere, cube, tetrahedron У shape есть чисто виртуальная функция getArea, тоже самое у TwoDimensionalShape, а у ThreeDimensionalShape есть еще и getVolume. Так вот вопрос: как в цикле распечатать объекты, на которые указывают элементы вектора указателей Shape, чтобы для...
Найти сумму чисел, не делящихся на 2 и 11 C++
Дана последовательность натуральных чисел {Aj} не более 20 элементов. Найти сумму чисел, не делящихся на 2 и 11, наибольшее из таких чисел, и номер этого числа в последовательности.
C++ Определение границ типов данных http://www.cyberforum.ru/cpp-beginners/thread357329.html
Задача такова. Требуется определить максимальные границы для основных типов данных, т.е. int, double, char, float. Вот набросал, в принципе все работает, но препод сказал, что можно загнать все в какую-то функцию size of или как-то так и получится универсальная программа. Подскажите как это можно исправить. #include <iostream> using namespace std; int main() { int i, N, a;
C++ Создание динамического массива в структуре Здравствуйте уважаемые форумчане. Вот код моей структуры- в будущем это динамический стек(без использования классов). Почему у меня не получается выделить память для значения stack->value. Компилятор пишет Unit1.cpp(26): E2034 Cannot convert 'int *' to 'int' struct St { int value; int kol; int gol; } ; //------------------------------ //------------------------------ подробнее

Показать сообщение отдельно
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
28.09.2011, 18:06     Уроки по C++ для самых маленьких
В главе про массивы стоит упомянуть (желательно на примере с int'ами, а не string'ами), что элементы лежат в памяти последовательно, а сам массив представляет собой непрерывный участок памяти:

int arr[8] = { 1, 2, 3, 4, 5, 6, 7, 8 };

... 84 24 FE 0A 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 A4 72 DE AD BE EF ...

Так же, мне кажется, это самое место, чтобы упомянуть об адресах памяти. Сказать, что, скажем, массив начинается с адреса 0x003f7425. Или, лучше, для наглядности, 1000 (в десятичной). Адрес первого элемента массива соответствует адресу начала самого массива, то есть 1000, адрес второго элемента - это адрес начала первого элемента + размер одного элемента: 1000 + 4 = 1004. Адрес третьего элемента - это адрес начала второго элемента + размер одного элемента: 1004 + 4 = 1008, или 1000 + 4 + 4 = 1008, или 1000 + (4*2) = 1008. Таким образом, адрес элемента массива можно узнать по формуле (начало_массива) + (размер_элемента) * (номер_элемента). Соответственно, для получения адреса первого элемента, номер элемента должен быть равен нулю: 1000 + 4*0 = 1000, для получения адреса второго элемента, номер элемента должен быть равен единице: 1000 + 4*1 = 1004, третий элемент - 1000 + 4*2 = 1008. Именно по-этому нумерация элементов массива в C++ начинается с нуля.

Ну или как-то так. Удачи

Добавлено через 1 минуту
Merovingian, это к слову о "сразу на С++". Знание "низкого" уровня хотя бы на таком уровне (простите за каламбур) полезно.

Добавлено через 1 минуту
М-да, и была бы полезна ссылка на переход к следующему и предыдущему уроку. Ну или я слепой

Добавлено через 7 минут
одна из самых важных компонентов языка C++
"компонент". Это женский род.

А вот, угадайте, какая команда возвращает значение?
Инструкций, не команд.

И рекурсии, кажется, рановато давать. Тем более на таком примере - начинающие могут забыть о циклах и пытаться делать всё рекурсивно. Лучше рекурсивные функции и рекурсивные структуры данных давать рядом.
 
Текущее время: 15:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru