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

Повторное использование кода в C++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ немогу всавить ассемблер в код http://www.cyberforum.ru/cpp-beginners/thread831470.html
пишу такой код: #include <iostream> int main(){ int a = 1; int b = 2; asm("mov eax, ebx"); return 0; }
C++ Функция гиперболического тангенса tanh(x) Всем добрый день! Если взять два числа A и B и сложить их, то процессор проделает одну операцию сложения,так? А сколько операций и каких проделает процессор, если я хочу взять гиперболический тангенс от аргумента? Например, tanh(3). Такой же вопрос про экспоненту в какой либо степени. Напрмиер, exp(3) http://www.cyberforum.ru/cpp-beginners/thread831467.html
в калькуляторе 2+2*2=8 C++
не получается сделать так, чтобы калькулятор считал 2+2*2=8, как это реализовать? Есть мнение что нужно что-то дописать в "+", но что... код: // primer1Dlg.cpp : файл реализации // #include "stdafx.h"
Работа с массивами (удаление строк, столбцов) C++
12.235 Дан двумерный массив. а) удалить из него первую из строк, сумма элементов которых не превышает некоторое заданное число. б) удалить из него первый из столбцов, количество нулей в котором равно некоторому заданному числу. Помогите пожалуйста, чем проще тем лучше . И если можно с объяснением.
C++ Функция getchar! http://www.cyberforum.ru/cpp-beginners/thread831448.html
Здравствуйте, поясните на пальцах, что делает данная программа? #include <stdio.h> int main(void) { char ch; printf("Enter a character followed by <Enter>: "); ch = getchar(); printf("The character read is: '%c'\n", ch); return 0;
C++ Перечислить все последовательности из n нулей, единиц и двоек, в которых никакая группа цифр не повторяется два раза подряд (нет куска вида XX ) Перечислить все последовательности из n нулей, единиц и двоек, в которых никакая группа цифр не повторяется два раза подряд (нет куска вида XX ). Помогите написать программу, пожалуйста) Я в этом программировании ничего не понимаю, а скоро курсовую сдавать((( Нашла на форуме тему с таким же заданием http://www.cyberforum.ru/cpp-beginners/thread825312.html , но оно реализовано не так как нужно... подробнее

Показать сообщение отдельно
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
08.04.2013, 20:21     Повторное использование кода в C++
На мой взгляд, использовать пару массивов - не логично. Более правильно - массив пар. Кстати, в STL уже есть класс pair. А по вашему вопросу, я бы сделал так (описаны только конструкторы и перегрузка перенаправления вывода):

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <string>
#include <vector>
 
class Wine
{
   public:
      typedef std::pair<int, int> Info;
      typedef std::vector<Info> InfoArray;
 
   private:
      std::string name;
      InfoArray info;
 
   public:
      Wine(const std::string& theName): name(theName) { ; };
 
      Wine(const std::string& theName, const Info& theInfo)
         : name(theName), info(&theInfo, &theInfo + 1) { ; }
 
      Wine(const std::string& theName, const Info theInfo[], size_t count)
         : name(theName), info(theInfo, theInfo + count) { ; }
 
      Wine(const std::string& theName, const InfoArray& theInfoArray)
         : name(theName), info(theInfoArray) { ; }
 
      friend std::ostream& operator << (std::ostream& out, const Wine& wine)
      {
         out << "Wine = " << wine.name << std::endl;
 
         Wine::InfoArray::const_iterator it;
         for (it = wine.info.begin(); it != wine.info.end(); ++it)
         {
            out << it->first << " " << it->second << std::endl;
         }
 
         return out;
      }
};
 
int main()
{
   Wine first("first");
 
   Wine second("second", Wine::Info(1970, 20));
 
   const Wine::Info info[] = {Wine::Info(1970, 25),
                              Wine::Info(1975, 50),
                              Wine::Info(1960, 11)};
 
   Wine last("last", info, sizeof(info) / sizeof(*info));
 
   std::cout << first  << std::endl
             << second << std::endl
             << last   << std::endl;
 
   return 0;
}
Название: image.PNG
Просмотров: 220

Размер: 4.2 Кб

Результат на codepad.org
 
Текущее время: 19:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru