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

Как сравнить 2 массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ввод из файла (Pascal -> C++) http://www.cyberforum.ru/cpp-beginners/thread1214553.html
Помогите пожалуйста переписать с Pascal на C++ ввод из файла. Файл примерно такой: 5 1 2 3 4 5 3 5 2 Assign(ft,'in.txt'); Reset(ft); Readln(ft,n);
C++ Программа для вычисления суммы ряда Нужно написать программу для вычисления суммы ряда. Формулы надо переписывать внутрь сообщения. Редактор формул - внизу окна. http://www.cyberforum.ru/cpp-beginners/thread1214547.html
C++ Рост учеников класса задан в виде массива. Определить средний рост мальчиков и девочек
Рост учеников класса представлен в виде массива. Определить средний рост мальчиков и девочек. Вывести сообщение кто выше девочки и мальчики. Только-только начинаю и не знаю совсем. Программа пишется в Borland C++
Вывод двух слов максимальной длины C++
Дан файл со словами,требуется вывести на экран два слова максимальной длины. Имеется программа для вывода одного слова,для двух вот никак не могу сообразить Вот для одного #include "stdafx.h" #include <iostream> #include <fstream> using namespace std; int _tmain(int argc, _TCHAR* argv) {char s, smax;
C++ Программа на файл содержащий сведения о телефонах http://www.cyberforum.ru/cpp-beginners/thread1214517.html
А.Программа на файл, содержащий сведения о телефонах абонентов. Каждая запись имеет поля: фамилия абонентов, год установки телефона, номер телефона. Количество записей произвольное. Б. Написать программу, выдающую информацию следующего вида: по вводимой фамилии абонента выдается номер телефона. определяется количество установленных телефонов с ХХХХ года. Номера года вводятся с терминала ...
C++ Дерево отрезков в определенной модификации Нужно уметь выполнять операции вида: 1) Присвоение на отрезке ( А l r x (от l до r сменить значения на x) 2) Сума на отрезке( Q l r (найти суму от l, r)) Помогите подправить мой код: #define _CRT_SECURE_NO_WARNINGS #include <algorithm> #include <iostream> #include <iomanip> #include <cmath> подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6447 / 3094 / 306
Регистрация: 04.12.2011
Сообщений: 8,567
Записей в блоге: 4
29.06.2014, 15:39
Цитата Сообщение от Psilon Посмотреть сообщение
если вы говорите об исключениях из правила, видимо, и само правило всё-таки существует
Так и есть. Не вижу противоречия. Можно бы и так сказать: обычно когда в С# приходят люди уже знакомые с С++ то им легче, чем не знакомым, но бывают и исключения. Трактовка различных аспектов фразы вот тут:
http://lurkmore.to/%D0%98%D1%81%D0%B...B8%D0%BB%D0%BE
мне нравится. В ней достаточно всесторонне обсуждаются различные неумеренности в её толкованиях.
Цитата Сообщение от Psilon Посмотреть сообщение
засим и закончим
Вот и хорошо.
Жаль вот только накатал уже ужас<T>ный примерчик. Он просто для демонстрации того, что если реализовывается вектор для прыжка в нужный блок кода (ф-цию), то количество веток это не размер. Контейнер же произвольного доступа и нужная ветвь находится без дополнительных затрат времени. Поэтому я и понял, что размер - определяется размером сравниваемых строк. То есть я понял так что внутренне это может выглядеть на в С# как то вроде:
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
59
60
61
62
63
64
65
#include<iostream>
#include<map>
#include<string>
#include<vector>
using namespace std;
 
struct SWITCH{
vector<void (*)()> vecPfooStr;
map<string, int> dicStrInt;
void (*default_foo)();
 
SWITCH(
       vector<void (*)()> vecPfooStr_,
       vector<string> keys,
       void (*default_foo_)()
       ){
 
vecPfooStr = vecPfooStr_;
default_foo = default_foo_;
for ( vector<string>::size_type i = 0;  i < keys.size(); i++){
dicStrInt.insert(std::make_pair(keys[i], i));
}
}
void operator()(string a){
map<string, int>:: iterator were_it;
 
//вот тут поиск должен быть быстрее чем сравнением в той мере в которой
//поиск в map реализован быстро для данной библиотеки
were_it = dicStrInt.find(a);
if(were_it != dicStrInt.end()) {
vector<string>::size_type  key = dicStrInt[a];
vecPfooStr[key]();
}
else
default_foo();
}
};
 
//ветки пришлось определить отдельно))  :
void case_one(){cout<<"one"<<endl;}
void case_two(){cout<<"two"<<endl;}
void case_tree(){cout<<"tree"<<endl;}
void default_foo(){cout<<"default_foo"<<endl;}
 
int main(){
vector<void (*)()> vecPfooStr;
vecPfooStr.push_back(case_one);
vecPfooStr.push_back(case_two);
vecPfooStr.push_back(case_tree);
 
vector<string> keys;
keys.push_back("one");
keys.push_back("two");
keys.push_back("tree");
 
SWITCH mySW(vecPfooStr, keys, default_foo);
 
for (vector<string>::size_type i = 0; i < keys.size(); ++i) mySW(keys[i]);
 
 mySW("wrong key");
 
cout<<endl;
system("pause");
return 0;
}
тогда количество веток не при чем, а длина строчек - причем.

fore each( in drihks ) +
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru