![]() |
|
Другие темы раздела | |
C++ Графическое приложение
https://www.cyberforum.ru/ cpp-beginners/ thread920921.html Здравствуйте форумчане, возник вопрос на который хотелось бы получить вашу помощь, выполняю работу где требуется написать графическое приложение. Само приложение написано и работа почти доделана, но... |
C++ Работа с типами данных в массиве Всем доброго времени суток , помогите выяснить одну вещь. Есть у меня массив типа char. Вот к примеру {1f-21df } Каким образом можно преобразовать тип элементов массива в int, чтобы в нем можно... |
C++ Наследование
https://www.cyberforum.ru/ cpp-beginners/ thread920867.html Здравствуйте уважаемые форумчане!!! Вот написал код с наследованием, я бы хотел его усовершенствовать но не знаю как. Вот что именно я бы хотел добавить в этот код: Я написал ID ученика в этом случае... |
C++ Ошибка invalid use of member Вот код. if (variety == a1.seta cout << a1.seta; else cout << "This sort is not.Try again." << endl; В ошибке показывает вот это: invalid use of member (did you forget the `&' ?) https://www.cyberforum.ru/ cpp-beginners/ thread920862.html |
C++ Полиморфизм, дружественные функции Всем привет! Имеется такая конструкция: class Base { public: Base(); Base(int n) {}; virtual ~Base() {}; |
C++ Шаблон функции не работает
https://www.cyberforum.ru/ cpp-beginners/ thread920843.html В чем я допустил ошибку? Почему шаблон функции не работает? #include <iostream> using namespace std; template < typename O > O max( O number1, O number2 ) { O maxValue = number1; if (... |
C++ Прикол с указателями взял пример с http://www.cplusplus.com/reference/algorithm/find/, немного поэксперементировал и наткнулся на необъяснимый факт) Смотрим: #include <iostream> // std::cout #include <algorithm> ... https://www.cyberforum.ru/ cpp-beginners/ thread920838.html |
C++ Нужна помошь:выделение в тексте слов с заданной буквой Необходима помощь в реализации одной задачи:Нужно вывести текст на экран из файла, и по нажатию произвольной клавиши поочередно выделяет в тексте слова с заданной буквой (вводится с клавиатуры);... |
C++ Быстрый поиск совершенных чисел
https://www.cyberforum.ru/ cpp-beginners/ thread920805.html Чтобы легко можно было отсылать вопрошающих по этому вопросу, создаю новую тему. Напомню, что Совершенное число — натуральное число, равное сумме всех своих собственных делителей (т. е. всех... |
C++ bool функция, нужен разбор
https://www.cyberforum.ru/ cpp-beginners/ thread920795.html bool not_url_char(char c) { static const string url_char="~,./?!@#$%^&*()_-+=;'"; return !(isalnum(c)||find(url_char.begin(), url_char.end(), c)!=url_char.end()); } Данная функция должна... |
Массив: Как скопировать двумерный массив в другой массив? C++ Как скопировать двумерный массив в другой массив? |
C++ Добавить в класс возможность вычисления значенний с плавающей точкой
https://www.cyberforum.ru/ cpp-beginners/ thread920763.html Есть код программи , надо добавить в него возможность считать не только целие числа, а й реальние. Как разобрать строку ? Чтоб получились числа типа float #include <vcl> #include <conio> #include... |
70 / 70 / 13
Регистрация: 13.05.2012
Сообщений: 130
|
||||||||||||||||
0 | ||||||||||||||||
Задача из Лафоре - C++ - Ответ 482795010.07.2013, 19:43. Показов 1330. Ответов 2
Метки (Все метки)
Для разъяснения действия наших доморощенных указателей мы смоделируем память компьютера с помощью массивов. Так как доступ к массивам всем понятен, то вы сможете увидеть, что реально происходит, когда мы используем для доступа к памяти указатели.
Мы будем использовать один массив типа char для хранения всех типов переменных. Именно так устроена память компьютера: массив байтов, каждый из которых имеет адрес. Однако С++ не позволит нам хранить данные типа float или int в массиве типа char обычным путем (мы можем использовать объединения, но это другая история). Поэтому мы создадим симулятор памяти, используя отдельный массив для каждого типа данных, которые мы хотим сохранить. В этом упражнении мы ограничимся одним типом float, и нам понадобится массив для него. Назовем этот массив fmemory. Однако значения указателей (адреса) тоже хранятся в памяти, и нам понадобится еще один массив для их хранения. Так как в качестве модели адресов мы используем индексы массива, то нам потребуется массив типа int, назовем его pmemory, для хранения этих индексов. Индекс массива fmemory (назовем его fmem_top) показывает на следующее по очереди доступное место, где можно сохранить значение типа float. У нас есть еще похожий индекс массива pmemory(назовем его pmem_top). Не волнуйтесь о том, что наша “память” может закончиться. Мы предполагаем , что эти массивы достаточно большие, чтобы хранить все, что мы захотим, и нам не надо заботиться об управлении памятью. Создадим класс Float, который мы будем использовать для моделирования чисел типа float, которые будет храниться в fmemory вместо настоящей памяти. Класс Float содержит поле, значением которого является индекс массива fmemory, хранящего значения типа float. Назовем это поле addr. В классе также должны быть два метода. Первый- это конструктор, имеющий один аргумент типа float для инициализации значения. Конструктор помещает значение аргумента в элемент массива fmemory, на который указывает указатель fmem_top, а затем записывает значение fmem_top в массив addr. Второй метод является перегружаемой операцией &. Он просто возвращает значение указателя (индекса типа int ) в addr. Создадим второй класс ptrFloat. Объект этого класса содержит адрес(индекс) в pmemory. Метод класса инициализирует этот “указатель” значеним типа int. Второй метод перегружает операцию * (операция разыменования). Его действие более сложны. Он получает адрес из массива pmemory, в котором хранится адреса. Затем полученный адрес используется как индекс массива fmemory для получения значения типа float, которое располагалось по нужному нам адресу.
Классы Float и ptrFloat похожи, но класс Float хранит данные типа float в массиве, представляющем собою память, а класс ptrFloat хранит поля типа int (являющееся у нас указателями, но на самом деле индексами массива) в другом массиве, который тоже представляет собой память. Это типичное использование этих классов в функции main():
актуально Вернуться к обсуждению: Задача из Лафоре C++
0
|
|
10.07.2013, 19:43 | |
Готовые ответы и решения:
2
Задача из Лафоре Не компилируется задача из Лафоре Очередь (задача из Лафоре) Лафоре. Глава 11. Задача 2 |
10.07.2013, 19:43 | |
Помогаю со студенческими работами здесь
0
Лафоре задача по классам
Задача 7 главы 7 из книги Р. Лафоре. Строки Лафоре,задача про денежный тип |