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

объясните пожалуйста код - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что такое шаблоны в C++? http://www.cyberforum.ru/cpp-beginners/thread858978.html
Что такое шаблоны и для чего они нужны? Если не трудно приведите показательный пример применения шаблона.
C++ Какая у буста лицензия? Если я использую boost, должен ли я буду весь проект распространять бесплатно и открыть исходный текст? http://www.cyberforum.ru/cpp-beginners/thread858962.html
Нужна из текстового файла с целыми числами найти минимальное и вывести его на экран C++
Нужно из текстового файла с целыми числами найти минимальное и вывести его на экран
Сохранение экрана консоли C++
Допустим, что то есть на экране размером 80x50 и я хочу записать все что есть на экране в чар массив, но не знаю как это сделать. Подскажите как будет правильно это сделать. char mas_screen; for (int i = 1; i < 51 ; i++) { for (int j=1; j < 81; j++) { gotoxy(i,j); cin>>mas_screen; } }
C++ Из файла прочитать множество произвольных целых чисел,упорядочить и вывести в поле вывода http://www.cyberforum.ru/cpp-beginners/thread858906.html
По идее должно получится нечто типа: (но нужна форма и использование openFileDialog1 saveFileDialog1) #include <iostream> #include <time.h> #include <fstream> #include <math.h> using namespace std; int main() { int chislo = 0; int x=0,j,a;
C++ Длинная арифметика Длинная арифметика — это набор программных средств (структуры данных и алгоритмы), которые позволяют работать с числами гораздо больших величин, чем это позволяют стандартные типы данных. Посоветуйте книгу по этой теме где нормально пояснено арифметические операции с использованием длинной арифметики. подробнее

Показать сообщение отдельно
cyberbrain1000
 Аватар для cyberbrain1000
23 / 23 / 3
Регистрация: 15.04.2013
Сообщений: 62
09.05.2013, 21:00     объясните пожалуйста код
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
#include <iostream>
#include <string>
#include <sstream>
#include <stdlib.h>// для ф-ции system
#include <ctype.h>// для ф-ции tolower
#include <vector>
 
// Perevodit russko-angliiskuu stroku v kodirovke oem866 v nijnii registr
std::string LoweringCase(std::string const& str)
{
    std::string sret;// результат
    for(std::string::const_iterator cib(str.begin()); cib != str.end(); ++cib)// цикл по строке
    {
        if(char(*cib) == char(0xf0))// если символ строки равен Ё (в кодировке oem866) то
            sret += char(0xf1);// то делаем его ё
        else if(char(*cib) >= char(0x80) && char(*cib) <= char(0x8f)) // если символ равен А-П то
            sret += char(*cib) + char(0x20);// то делаем его а-п
        else if(char(*cib) >= char(0x90) && char(*cib) <= char(0x9f)) // если символ равен Р-Я то
            sret += char(*cib) + char(0x50);// то делаем его р-я
        else// если символ - латинская буква в верхнем регистре то
            sret += tolower(char(*cib));// то понижаем регистр ф-цией tolower
    }
    return sret;//возврат результата ( строка в нижн. регистре)
}
 
int main()
{
    std::string str, sword, strlow, swordlow;
    std::cout << "Vvedite russko-angliiskuu stroku (slova i probeli):\n";
    std::getline(std::cin, str);
    std::cout << "Vvedite posledovatel'nost' simvolov (slovo) dlya poiska:\n";
    std::cin >> sword;
    //std::cout << std::hex << (char(*str.begin()) == char(0xf0)) << "\n\n";
    strlow = LoweringCase(str);// понижаем регистр строки str и кладём его в strlow
    //std::cout << strlow << "\n\n";
    swordlow = LoweringCase(sword);// понижаем регистр слова sword и кладём его в swordlow
    //std::cout << swordlow << "\n\n";
    std::stringstream sstr(strlow);// загрузка в поток строки strlow
    std::vector<std::string> vec, veclow;// векторы слов
    while(sstr >> sword)// разбиваем строку strlow на слова и
        veclow.push_back(sword);// и кладём слова в вектор veclow
    sstr.clear();// очистка флагов потока
    sstr.str(str);// загрузка в поток строки str
    while(sstr >> sword)// разбиваем строку str на слова и
        vec.push_back(sword);// и кладём слова в вектор vec
    std::cout << "Naideni slova:\n\n";
    for(std::vector<std::string>::iterator ib(veclow.begin()); ib != veclow.end(); ++ib)// цикл по вектору veclow
    {
        if(ib->find(swordlow) != std::string::npos)// если в слове вектора veclow найдено слово strlow nj
        {
            std::cout << vec.at(ib - veclow.begin()) << '\n'; // то выводим его на экран
        }
        //std::cout << val << '\n';
    }
    system("pause");// чтобы консоль сразу не закрывалась
    return 0;
}
 
Текущее время: 12:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru