Есть задача: "Во входной строке записана последовательность чисел через пробел. Для каждого числа выведите слово YES (в отдельной строке), если это число ранее встречалось в последовательности или NO, если не встречалось" Вопрос: Вводится неопределенное кол-во чисел, а как ввести это неопределенное кол-во чисел(вводить нужно в множество "set") Буду благодарен)
Если вы читаете из терминала, то можно сделать, как сказал Harry. Читаем строку, превращаем её в поток и читаем. Реализация:
#include <iostream>
#include <string>
#include <set>
#include <sstream>
using namespace std;
int main() {
string s;
set <int> S;
int n = 0;
getline(cin, s);
istringstream i(s);
while (i >> n)
if (S.count(n) == 0) {
cout << "NO\n";
S.insert(n);
}
else
cout << "YES\n";
return 0;
}
Для файла можно попробовать читать до конца файла. Если в файле не 1 строка, то использовать первый метод, если же одна, то можно так:
#include <fstream>
#include <iostream>
#include <string>
#include <set>
using namespace std;
int main() {
set <int> S;
int n;
ifstream i("input.txt");
while (i >> n)
if (S.count(n) == 0) {
cout << "NO\n";
S.insert(n);
}
else
cout << "YES\n";
return 0;
}
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Есть приложение на Qt, и обычно располагается в Program FilesВ некоторых случаях, когда запускается программа, она запрашивает/не запрашивает права...
Сейчас изучаю потоки в андроид, и мое задание - сделать счетчик, который добавляет числа от 0 до 9 в TextView через LoaderПонятно, что Loader нужен для...
В логе службы есть N записей, в которых указано, что в i-й момент времени Васина программа потребляла Ai мегабайт памятиЕсли в какой-то момент...