Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Проверка на повторение i = 0; while(x != 0){ int j = 1; while(x != 0){ if(x == x){ cout << i << j; } j++; } i++; https://www.cyberforum.ru/ cpp-beginners/ thread373772.html Извините за глупый вопрос. C++
Как в С++ записывается "и"? (Например в Pascal это "and"). И как записать это в условие типа: if (N<1000) "и" (N>100) { bla bla bla } else { bla bla bla }
C++ Ввести масив https://www.cyberforum.ru/ cpp-beginners/ thread373743.html
Как ввести в масив сначала числа с чётным индексом, а потом с не чётным?
C++ Помогите не понимаю WINAPI=( https://www.cyberforum.ru/ cpp-beginners/ thread373741.html
Нужно написать программу используя функции WINAPI, кот при запуске создает окно, кот используется для вывода результатов работы и завершает свое выполнение при его закрытии. Программа с функцией f..перевода числа...
C++ Дано целое число N и набор из N целых чисел. Определить номера тех чисел наборе, которые меньше своего правого соседа, и количество К таких чисел.
Всем привет мне нужен исходник к етой задачи Дано целое число N и набор из N целых чисел. Определить номера тех чисел наборе, которые меньше своего правого соседа, и количество К таких чисел. зарания , спасибо
C++ Помогите пожалуйста с уравнением. Первая - уравнение которое надо решить Вторая картинка пример написания Заранее благодарен. https://www.cyberforum.ru/ cpp-beginners/ thread373734.html
C++ Поиск подстроки в строке https://www.cyberforum.ru/ cpp-beginners/ thread373729.html
Уважаемые форумчане, помогите написать программу для поиска подстроки "vvo" в строке "Petrovvortep" Нужна очень срочно. можно использовать любой алгоритм поиска, но надо указать название алгоритма. Заранее благодарен.
C++ Напишите пожалуйста простенькие программы на С++.
Программа 1. При помощи генератора чисел создать одномерный массив. Длинна массива задается пользователем. Программа 2. При помощи генератора чисел создать одномерный массив. Длинна массива генерируется. Программа 3. Ввести одномерный массив с клавиатуры. Преобразовать массив (сначала поставить положительные элементы,потом отрицательные)
C++ ДУ. Метод Рунге-Кутта. Погрешность. Сам Рунге-Кутта III порядка. - "реализовано". Огорчает погрешность, не могу понять как улучшить точность (и не достаточно ли такой?). По словам преподавателя: "да на такой системе рунге-кутта должен вообще шикарно считать!" Ныне при шаге h = 0.1 на интервале погрешность 4 шага с порядком h^3 и далее 6 шагов с порядком h^2. main.cpp: #include "stdafx.h" #include "conio.h" #include... https://www.cyberforum.ru/ cpp-beginners/ thread373714.html C++ Дана строка из фамилии и нооборот Поиск подстроки в строке. Дана строка из фамилии и нооборот. Например Ивановвонави. Нужно найти любой фрагмент в даной строке. Заранее спасибо) есть примерно в паскале Program p1; uses crt; var a,b:string; https://www.cyberforum.ru/ cpp-beginners/ thread373712.html
Помогите понять ошибку C++
Не могу понять, что ему не нравится? Обычный вектор векторов: template <class typeData> class Ttest { typedef std::vector<typeData> DataLine; public: Ttest():myKrolic(10,DataLine(10)){} int Copy() const;
C++ Отсортировать список каманд по суммам очков.... Исходные данные или результат или и то и другое должно размещаться в текстовом файле. Отсортировать список команд по суммам очков двух туров футбольного чемпионата. https://www.cyberforum.ru/ cpp-beginners/ thread373706.html
62 / 62 / 11
Регистрация: 16.10.2011
Сообщений: 200
0

Проблема.(Не знаю даже как ее назвать...) - C++ - Ответ 2111546

27.10.2011, 21:34. Показов 962. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Небольшое введение, кто не хочет может сразу перейти ко второй части.
У меня есть проблема с написанием части моей программы. Все дошло до того, что у меня есть две переменные, а точнне указатели на них и тип у этих указателей void *. Также у меня есть идентификатор типа переменной. В итоге получается нечто такое: В программе есть enum TYPEID {TYPE_INT = 1, TYPE_FLOAT = 2, TYPE_CHAR = 3, TYPE_VECTOR = 4 и т.д.}. Значит я имею два указателя на переменные: void *a1; void *a2; Также у меня имеются две переменные, которые хранят идентификаторы типа переменной, на которые указывают оба указателя: TYPEID Ta1; TYPEID Ta2; Итак, главная задача! Как мне присвоить в переменную a1 значение переменной a2 с учетом их типов???
Т.е. если Ta1 == TYPE_INT и Ta2 == TYPE_FLOAT, то должно произойти что-то типа такого: *(int *)a1 = *(float *)a2, ну или тому подобному... Проблему модно было бы решить при помощи перебора усроить перебор каждого варианта: if (Ta1 == TYPE_INT && Ta2 == TYPE_CHAR) *(int *)a1 = *(char *)a2; Но еще придется тогда отбрасывать некоторые варианты, ведь в переменную типа int нельзя будет присвоить переменную типа vector и т.п. Вот я и прошу помощи, как это все можно упростить, ведь код получается ОЧЕНЬ громоздким и себя не оправдывает.
Тот же вопрос, но по другому : Раскажу о том, как дошел до всего этого. Мне потребовался класс который будет хранить в себе переменную, тип которой задан идентификатором, получилось нечто такое:
C++
1
2
3
4
5
6
7
8
9
10
11
 
class VTYPE
{
private:
  TYPEID Tid;
  void *Var;
public:
  explicit VTYPE( TYPEID Tid );
  ~VTYPE( VOID );
  template<class TYPE> VTYPE & operator = ( TYPE V );
};
В конструкторе в качестве аргумента мы получаем тип переменной, далее выделяем под нее память.
Основная проблема заключается в перегрузке оператора =. Я нечто набросал, в итоге в содержимом функции получилось нечто на подобии этого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
switch (Tid)
{
case TYPE_INT:
  *(INT *)Var = V;
  break;
case TYPE_FLOAT:
  *(float *)Var = V;
  break;
case TYPE_VECTOR:
  *(vector *)Var = V;
  break;
}
return *this;
На первый взгляд все бы ничего, но рассмотрим пример:
C++
1
2
3
4
VTYPE T(TYPE_INT); // создаем переменную под тип int
vector V(1,2,3); // заводим вектор с координатами 1, 2, 3
// Выполняем действие
T = V;
У нас по идее вызовется наш перегруженный оператор для типа vector. На этого не произойдет, потому что ошибка появится уже на момент компиляции. Он укажет что операция *(int *)Var = V; невозможна, ведь у нас несовместимость типов. Ну вот я и прошу помощи справиться с моим недугом. Возможно это можно сделать совсем по другому, или обрабатывать какие-либо исключения, короче HELP ME, PLEASE!

Вернуться к обсуждению:
Проблема.(Не знаю даже как ее назвать...) C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2011, 21:34
Готовые ответы и решения:

Даже не знаю как назвать )
Тype Person =Record Name: string; age: 1..200 end; list= file of person; Процедура Youngest (var...

Даже не знаю как назвать:)
Здраствуйте уважаемые форумчане собствено назрел такой вопрос. private void...

Даже не знаю как назвать тему, но тут есть девушки
Вообщем ваяю сайт знакомств. Шаблон Lovestory Есть страница поиска анкет и анкеты выводятся...

Даже не знаю в чем проблема.
Привет всем. Перейду сразу к делу. В задней панели были подрублены колонки. Ну в передней...

2
27.10.2011, 21:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2011, 21:34
Помогаю со студенческими работами здесь

FreeRTOS проблема (не знаю даже с чем конкретно)
Здравствуйте. Прошу помощи в &quot;разборке&quot; работы с FriiRTOSом. Пишу программку в IAR ARM 6.21....

Даже незнаю как назвать!
Суть такова, нам известен объем штабеля древесины, известен объем одного бревна, и известны...

не знаю как назвать
Вот, что мне подумалось, поведение Яндекса можно объяснить желанием простимулировать развитие...

Не знаю как назвать
Подскажите пожалуйста, где здесь ошибка? Пытался скомпилировать в Microsoft Visual C++ (2010)...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru