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

Вывести все буквы/цифры, которые НЕ входят в текст - C++

Восстановить пароль Регистрация
 
p1ka4y777
 Аватар для p1ka4y777
2 / 2 / 0
Регистрация: 04.10.2013
Сообщений: 155
01.12.2013, 23:21     Вывести все буквы/цифры, которые НЕ входят в текст #1
доброго здоровья, уважаемые! есть условие: в файле задан любой текст/цифры... нужно вывести все буквы/цифры, которые НЕ входят в этот текст... (надеюсь она не большая)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2013, 23:21     Вывести все буквы/цифры, которые НЕ входят в текст
Посмотрите здесь:

C++ Напечатать в алфавитном порядке все буквы, которые входят в текст по одному разу
Дан массив из строчных латинских букв. Вывести на экран в алфавитном порядке все буквы, которые входят в этот текст по одному разу C++
C++ Вывести на экран в алфавитном порядке все символы которые входят в массив по одному разу
C++ Дан текст на русском языке. Напечатать в алфавитном порядке все согласные буквы,которые входят только в одно слово
В заданный непустой текст входят только цифры и буквы. Определить, удовлетворяет ли он следующему свойству: C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
01.12.2013, 23:36     Вывести все буквы/цифры, которые НЕ входят в текст #2
На вскидку:
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
#include <iostream>
#include <fstream>
#include <cctype>
 
 
int main() {
   std::size_t const cyphersCount = '9' - '0' + 1;
   bool cyphers[cyphersCount] = {false};
 
   std::size_t const lettersCount = 'z' - 'a' + 1;
   bool letters[lettersCount] = {false};
 
   std::ifstream istream("filename");
   for (std::istream_iterator<char> it(istream), end; it != end; ++it) {
      if (std::isdigit(*it)) {
         cyphers[*it] = true;
      } else if (std::isalpha(*it)) {
         letters[std::tolower(*it)] = true;
      }
   }
 
   for (std::size_t i = 0; i != cyphersCount; ++i) {
      if (!cyphers[i]) {
         std::cout << static_cast<char>(i + '0');
      }
   }
   for (std::size_t i = 0; i != lettersCount; ++i) {
      if (!letters[i]) {
         std::cout << static_cast<char>(i + 'a');
      }
   }
   std::cout << std::endl;
}
p1ka4y777
 Аватар для p1ka4y777
2 / 2 / 0
Регистрация: 04.10.2013
Сообщений: 155
02.12.2013, 05:33  [ТС]     Вывести все буквы/цифры, которые НЕ входят в текст #3
Цитата Сообщение от gray_fox Посмотреть сообщение
C++
1
for (std::istream_iterator<char> it(istream), end; it != end; ++it)
благодарный за ваш труд!
прокомментируйте эту строчку, пожалуйста

Добавлено через 5 часов 38 минут
потому что, кажется, что он некорректный...
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
02.12.2013, 13:00     Вывести все буквы/цифры, которые НЕ входят в текст #4
p1ka4y777, итерируем по всем символам в потоке istream_iterator
p1ka4y777
 Аватар для p1ka4y777
2 / 2 / 0
Регистрация: 04.10.2013
Сообщений: 155
03.12.2013, 03:58  [ТС]     Вывести все буквы/цифры, которые НЕ входят в текст #5
пересмотрите эту строчку, пожалуйста, может вы в чём то ошиблись, у меня 4 ошибки в ней:
- namespace "std" не содержит члена "istream_iterator"
- использование имени типа не допускается (это про char)
- идентификатор "it" не определен
- не удается определить экземпляр перегруженная функция "end", использование которого предполагается
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
03.12.2013, 12:58     Вывести все буквы/цифры, которые НЕ входят в текст #6
p1ka4y777, добавь
C++
1
#include <iterator>
p1ka4y777
 Аватар для p1ka4y777
2 / 2 / 0
Регистрация: 04.10.2013
Сообщений: 155
03.12.2013, 19:10  [ТС]     Вывести все буквы/цифры, которые НЕ входят в текст #7
Цитата Сообщение от gray_fox Посмотреть сообщение
p1ka4y777, добавь
C++
1
#include <iterator>
я уже сам догадался, но спасибо)
у Вас случайно не было никаких проблем при компиляции?
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
03.12.2013, 19:38     Вывести все буквы/цифры, которые НЕ входят в текст #8
Цитата Сообщение от p1ka4y777 Посмотреть сообщение
у Вас случайно не было никаких проблем при компиляции?
А я и не компилировал, говорю же "на вскидку"
p1ka4y777
 Аватар для p1ka4y777
2 / 2 / 0
Регистрация: 04.10.2013
Сообщений: 155
03.12.2013, 19:48  [ТС]     Вывести все буквы/цифры, которые НЕ входят в текст #9
ух какой вы суровый) даже не проверяете такую работу)

"нарушение прав доступа при исполнении по адресу 0x01010199"
это исправимо?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2013, 19:59     Вывести все буквы/цифры, которые НЕ входят в текст
Еще ссылки по теме:

Распечатать в порядке,обратно алфавитному,все буквы,которые входят в текст не менее трех раз C++
C++ Напечатать в алфавитном порядке все глухие согласные буквы, которые входят в текст
Вывести те согласные буквы, которые входят в первое предложение и не входят во второе C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
03.12.2013, 19:59     Вывести все буквы/цифры, которые НЕ входят в текст #10
Цитата Сообщение от p1ka4y777 Посмотреть сообщение
"нарушение прав доступа при исполнении по адресу 0x01010199"
это исправимо?
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
#include <iostream>
#include <fstream>
#include <iterator>
#include <cctype>
 
 
int main() {
   std::size_t const cyphersCount = '9' - '0' + 1;
   bool cyphers[cyphersCount] = {false};
 
   std::size_t const lettersCount = 'z' - 'a' + 1;
   bool letters[lettersCount] = {false};
 
   std::ifstream istream("filename");
   for (std::istream_iterator<char> it(istream), end; it != end; ++it) {
      if (std::isdigit(*it)) {
         cyphers[*it - '0'] = true;
      } else if (std::isalpha(*it)) {
         letters[std::tolower(*it) - 'a'] = true;
      }
   }
 
   for (std::size_t i = 0; i != cyphersCount; ++i) {
      if (!cyphers[i]) {
         std::cout << static_cast<char>(i + '0');
      }
   }
   for (std::size_t i = 0; i != lettersCount; ++i) {
      if (!letters[i]) {
         std::cout << static_cast<char>(i + 'a');
      }
   }
   std::cout << std::endl;
}
http://ideone.com/E31sFx
Yandex
Объявления
03.12.2013, 19:59     Вывести все буквы/цифры, которые НЕ входят в текст
Ответ Создать тему
Опции темы

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