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

Задачи для тренировки и лучшего понимания - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возможно переписать программу? http://www.cyberforum.ru/cpp/thread153534.html
Есть программа Upgrade UA.exe хочу запустить ее на windows mobile 6. Возможно ли ее переписать.
C++ scanf Пусть нужно читать из текста слова, пропуская все символы, кроме a-z и A-Z. То есть из текста Hello, world! ololo O_o получить только Hello world ololo O o Меня интересует, можно ли это... http://www.cyberforum.ru/cpp/thread153153.html
C++ Вернуть stdin в консоль
Допустим я перенаправил поток stdin/stdout в файл с помощью функции freopen. Как заставить его снова работать с консолью? Добавлено через 9 минут Нашел. #include <cstdlib> #include <stdio.h>...
Прошу помочь.Подключение dll на неуправляемом С/С++ C++
Возникла проблема.Есть рабочая dll, необходимо подключить к CLR приложению. Подключение происходит нормально. Все функции работают нормально кроме одной(хотя dll проверял все работает в обычных...
C++ Не сразу закрывающаяся программа http://www.cyberforum.ru/cpp/thread152799.html
Есть команды в терминале.. вроде telnet или sql, эти программы запускаешь и они остаются открытыми пока не дашь команду, например, quit. Во время работы программы она показывает знак приглашения...
C++ Парсер на С вопшем есть файл с текстом..... в етом файле есть какие даные(мусор)...и есть дни: Понедельник,Вторник,среда......с етого файла нада вывести ети дни в порядке нахождениэ... ето походу несложная... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
10.01.2011, 18:54
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
//////////////////////////////////////////////////////////////////////////////////////
//Петя разгадывает головоломку, которая устроена следующим образом. Дана квадратная 
//таблица размера NxN, в каждой клетке которой записана какая-нибудь латинская буква. 
//Кроме того, дан список ключевых слов. Пете нужно, взяв очередное ключевое слово, 
//найти его в таблице. То есть найти в таблице все буквы этого слова, причем они 
//должны быть расположены так, чтобы клетка, в которой расположена каждая последующая 
//буква слова, была соседней с клеткой, в которой записана предыдущая буква 
//(клетки называются соседними, если они имеют общую сторону — то есть соседствуют 
//по вертикали или по горизонтали). Например, на рисунке показано, как может быть 
//расположено в таблице слово olympiad. 
//
//Когда Петя находит слово, он вычеркивает его из таблицы. Использовать уже вычеркнутые 
//буквы в других ключевых словах нельзя. После того, как найдены и вычеркнуты все 
//ключевые слова, в таблице остаются еще несколько букв, из которых Петя должен 
//составить слово, зашифрованное в головоломке. 
//
//Помогите Пете в решении этой головоломки, написав программу, которая по данной таблице 
//и списку ключевых слов выпишет, из каких букв Петя должен сложить слово, то есть 
//какие буквы останутся в таблице после вычеркивания ключевых слов. 
//------------------------------------------------------------------------------------
//ВХОДНЫЕ ДАННЫЕ
//Во входном файле INPUT.TXT записаны два числа N (1<=N<=10) и M (0<=M<=100). 
//Следующие N строк по N заглавных латинских букв описывают ребус. Следующие M строк 
//содержат слова. Слова состоят только из заглавных латинских букв, каждое слово 
//не длиннее 100 символов. Гарантируется, что в таблице можно найти и вычеркнуть
//по описанным выше правилам все ключевые слова. 
//------------------------------------------------------------------------------------
//ВЫХОДНЫЕ ДАННЫЕ
//В выходной файл OUTPUT.TXT выведите в алфавитном порядке оставшиеся в таблице буквы.
//////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <fstream>
#include <iostream>
#include <set>
#include <string>
//////////////////////////////////////////////////////////////////////////////////////
typedef std::string            T_str;
typedef T_str::value_type      T_symb;
typedef std::multiset<T_symb>  T_symb_multiset;
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
 
    const T_str    FILE_IN_NAME("input.txt");    
    std::ifstream  file_in(FILE_IN_NAME.c_str());    
    if (!file_in) 
    {        
        std::cerr << "Невозможно открыть файл \"" 
                  << FILE_IN_NAME << "\""
                  << std::endl;
        exit(EXIT_FAILURE);
    }
 
    int  n = 0;
    file_in >> n;
    int  m = 0;
    file_in >> m;    
 
    T_symb_multiset  rebus_letters;
    for(int i = 0; i < n + 1; ++i)
    {
        T_str  rebus_str_cur;
        getline(file_in, rebus_str_cur);
        if(i)
        {
            rebus_letters.insert(rebus_str_cur.begin(), rebus_str_cur.end());
        }        
    }
    
    T_symb_multiset  words_letters;
    for(int i = 0; i < m; ++i)
    {
        T_str  word_cur;
        getline(file_in, word_cur);
        words_letters.insert(word_cur.begin(), word_cur.end());
    }
 
    T_str  remained_letters_str;
    std::set_difference(rebus_letters.begin(), rebus_letters.end(), 
                        words_letters.begin(), words_letters.end(), 
                        std::back_inserter(remained_letters_str));
 
    const T_str    FILE_OUT_NAME("output.txt");    
    std::ofstream  file_out(FILE_OUT_NAME.c_str());    
    if (!file_out) 
    {        
        std::cerr << "Невозможно открыть файл \"" 
                  << FILE_OUT_NAME << "\""
                  << std::endl;
        exit(EXIT_FAILURE);
    }
 
    file_out << remained_letters_str;  
}
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru