М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Ekaterina2348
Ekaterina2348
25.05.2020 11:27 •  Информатика

ответьте, очень надо.

На вход программы поступают 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. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: выпишите строку, в которой сделана ошибка, и приведите правильный вариант

строки.

Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.

👇
Открыть все ответы
Ответ:
daryabatova
daryabatova
25.05.2020

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 функция которая ищет максимум

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

4,5(84 оценок)
Ответ:
matveq888
matveq888
25.05.2020

Итак, целевой язык - 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,6(49 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ