Прмогите .легкотня. 2 и 3 2: посмотрите на рисунки,найдите исполнителей алгоритма.напишите ответы на вопросы и обсудите. : найдите и сопоставьте исполнителей алгоритма
CLS a: INPUT n IF n < 1 OR INT(n) <> n OR n > 1000 THEN GOTO a DIM a(n) h=30000 FOR i = 1 TO n b: INPUT a(n) IF a(n) < 1 OR INT(a(n)) <> a(n) OR a(n) > 30000 THEN GOTO b IF INT ((a(n) - 4 ) / 10) = ((a(n) - 4) / 10) AND a(n) < h THEN h = a(n) NEXT i PRINT h END или: n - количество чисел i - цикловая переменная a - натурально число min - минимальное число, оканчивающееся на 4 Язык програмирования: Паскаль var n,i,a,min: integer; begin readln(n); min := 30001; for i := 1 to n do begin readln(a); if (a mod 10 = 4) and (a < min) then min := a; end; writeln(min) end.
Итак, целевой язык - C++. Это значит мы - радостные обладатели технологии потоков, с коей мы будем производить весь ввод/вывод как при работе с файлами, так и при работе со стандартным вводом/выводом (консолью).
Ну а раз уж мы работаем с потоками, то будем делать это красивенько: создадим класс-обёртку для потока ввода, цель которого - поиск в этом потоке цитат и отправка их на поток вывода (который мы передаём).
[!] Стоит отметить, что по заданию не сказано, что есть разница между ' и ". Поэтому будем считать их одинаковыми.
[!] Внимание! Рядом с исполняемым файлом надо создать текстовый файл data.txt c текстом и цитатами.
Код
С++11
#include <iostream>#include <fstream>using std::cout;class QuotesFinder { std::istream &in_stream; bool is_it_in_quote = false;public: QuotesFinder() = delete; QuotesFinder(QuotesFinder&&) = default; QuotesFinder(QuotesFinder const&) = default; explicit QuotesFinder(std::istream &is) : in_stream(is) {} [[nodiscard]] bool eof() const { return in_stream.eof(); } // Вот тут происходит вся магия QuotesFinder& operator >> (std::ostream& out_stream) { char buffer; in_stream.get(buffer); //Получаем очередной символ из потока if (buffer == '\"' || buffer == '\'') { if (is_it_in_quote) { is_it_in_quote = false; out_stream << buffer; out_stream << "\n"; return *this; } is_it_in_quote = true; } if (is_it_in_quote) { out_stream << buffer; } return *this; }};int main() { std::ifstream file("data.txt"); // Открываем файл if (!file.is_open()) { cout << "File is not exits!"; return 1; } QuotesFinder finder(file); // Создаём обёртку из файлового потока while (!finder.eof()) // Пока не достигли конца потока finder >> cout; // переправляем очередной кусок информации в поток вывода}
a:
INPUT n
IF n < 1 OR INT(n) <> n OR n > 1000 THEN GOTO a
DIM a(n)
h=30000
FOR i = 1 TO n
b:
INPUT a(n)
IF a(n) < 1 OR INT(a(n)) <> a(n) OR a(n) > 30000 THEN GOTO b
IF INT ((a(n) - 4 ) / 10) = ((a(n) - 4) / 10) AND a(n) < h THEN h = a(n)
NEXT i
PRINT h
END
или:
n - количество чисел
i - цикловая переменная
a - натурально число
min - минимальное число, оканчивающееся на 4
Язык програмирования: Паскаль
var
n,i,a,min: integer;
begin
readln(n);
min := 30001;
for i := 1 to n do
begin
readln(a);
if (a mod 10 = 4) and (a < min) then
min := a;
end;
writeln(min)
end.
Итак, целевой язык - C++. Это значит мы - радостные обладатели технологии потоков, с коей мы будем производить весь ввод/вывод как при работе с файлами, так и при работе со стандартным вводом/выводом (консолью).
Ну а раз уж мы работаем с потоками, то будем делать это красивенько: создадим класс-обёртку для потока ввода, цель которого - поиск в этом потоке цитат и отправка их на поток вывода (который мы передаём).
[!] Стоит отметить, что по заданию не сказано, что есть разница между ' и ". Поэтому будем считать их одинаковыми.
[!] Внимание! Рядом с исполняемым файлом надо создать текстовый файл data.txt c текстом и цитатами.
КодС++11
#include <iostream>#include <fstream>using std::cout;class QuotesFinder { std::istream &in_stream; bool is_it_in_quote = false;public: QuotesFinder() = delete; QuotesFinder(QuotesFinder&&) = default; QuotesFinder(QuotesFinder const&) = default; explicit QuotesFinder(std::istream &is) : in_stream(is) {} [[nodiscard]] bool eof() const { return in_stream.eof(); } // Вот тут происходит вся магия QuotesFinder& operator >> (std::ostream& out_stream) { char buffer; in_stream.get(buffer); //Получаем очередной символ из потока if (buffer == '\"' || buffer == '\'') { if (is_it_in_quote) { is_it_in_quote = false; out_stream << buffer; out_stream << "\n"; return *this; } is_it_in_quote = true; } if (is_it_in_quote) { out_stream << buffer; } return *this; }};int main() { std::ifstream file("data.txt"); // Открываем файл if (!file.is_open()) { cout << "File is not exits!"; return 1; } QuotesFinder finder(file); // Создаём обёртку из файлового потока while (!finder.eof()) // Пока не достигли конца потока finder >> cout; // переправляем очередной кусок информации в поток вывода}