evolkova-73
?>

ответьте, очень надо. На вход программы поступают 4 неотрицательных целых числа, не превышающие 1000, среди которых могут быть одинаковые. Нужно написать программу, которая выводит количество чисел, кратных 3, и максимальное из этих чисел. Если среди входных данных нет чисел, кратных трёх, программы должна вывести слово 'NO'. Для решения этой задачи ученик написал такую программу: const n = 4; var i, x: integer; var maximum, count: integer; begin count := 0; maximum := 999; for i:=1 to n do begin read( x ); if x mod 3 = 0 then begin count := count + 1; if x < maximum then maximum := x; end; end; if count > 0 then begin writeln(count); writeln(maximum); end else writeln('NO'); end. Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе чисел 2 9 4 3. 2. Приведите пример такой последовательности, содержащей число, кратное 3, что, несмотря на ошибки, программа выдаст верный ответ. 3. Найдите все ошибки в этой программе (их может быть одна или несколько Для каждой ошибки: выпишите строку, в которой сделана ошибка, и приведите правильный вариант строки. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.

Информатика

Ответы

mzubenko6

c = 15   c = 2.00     c = 25              c = 9

c = 3    c = 1            c = 100             100

'qm'     c = ''   c = school2      error

Объяснение:

+ сложение(если строку str складывают с другой они просто скрепляются

// деление с выделением целой части

/ обычное деление чисел (происходит в формате float) даже если ответ целое число мы показывает десятые и сотые числа

% деление с выделением остатка

* умножение (если строка str умножается на целое число, то эта строка пишется несколько раз БЕЗ ПРОБЕЛА

** возведение в степень

max функция которая ищет максимум

строку на строку перемножать нельзя программа ложиться и выдаёт ошибку

EVLAMPIN56

Итак, целевой язык - 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; // переправляем очередной кусок информации в поток вывода}
Написать программу на С++. Задача - Считать текст из файла и вывести на экран только цитаты, т. е. п

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

ответьте, очень надо. На вход программы поступают 4 неотрицательных целых числа, не превышающие 1000, среди которых могут быть одинаковые. Нужно написать программу, которая выводит количество чисел, кратных 3, и максимальное из этих чисел. Если среди входных данных нет чисел, кратных трёх, программы должна вывести слово 'NO'. Для решения этой задачи ученик написал такую программу: const n = 4; var i, x: integer; var maximum, count: integer; begin count := 0; maximum := 999; for i:=1 to n do begin read( x ); if x mod 3 = 0 then begin count := count + 1; if x < maximum then maximum := x; end; end; if count > 0 then begin writeln(count); writeln(maximum); end else writeln('NO'); end. Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе чисел 2 9 4 3. 2. Приведите пример такой последовательности, содержащей число, кратное 3, что, несмотря на ошибки, программа выдаст верный ответ. 3. Найдите все ошибки в этой программе (их может быть одна или несколько Для каждой ошибки: выпишите строку, в которой сделана ошибка, и приведите правильный вариант строки. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

kep92
Roman913
alexey
Vitproficosmetics
fixer2006
Fedorov1283
Чубкова1290
Морозов
tatakypzova
dyatchina63
artemkolchanov24
Kharkina1328
Смирнов_Андрей691
akremlev2015
Komarovsergeysk