Python На кафедре «Кинематографических Технологий» Института Театра, Музыки и Оперы преподают два Андрея: Андрей Станиславский и Андрей Феллини. Однажды оба Андрея дали задание своим студентам написать сценарий, в котором в каждой из частей должны быть задействованы все персонажи заявленные в сценарии.
Обсуждая полученные сценарии Андреи заметили, что два из них очень похожи друг на друга. Оба сценария содержали одинаковое число частей, а также в них фигурировало одинаковое число персонажей. Тогда Андреи заинтересовались, а не спи
Объяснение:
В числовой матрице поменять местами два столбца, т. е. все элементы одного столбца поставить на соответствующие им позиции другого, а его элементы второго переместить в первый.
Найти столбец матрицы с максимальной суммой элементов
Задана матрица неотрицательных чисел. Посчитать сумму элементов в каждом столбце. Определить, какой столбец содержит максимальную сумму.
Положительные элементы главной диагонали
Найти положительные элементы главной диагонали квадратной матрицы.
Индексы минимальных элементов матрицы
Вывести на экран индексы всех минимальных элементов матрицы.
Вычислить элементы матрицы по формуле
Элементы матрицы NxM вычисляются по формуле A[i,j] = sin(N*i+M*j) при индексации с единицы или по формуле A[i,j] = sin(N*(i+1)+M*(j+1)) при индексации с нуля. Если полученный таким образом элемент матрицы отрицателен, то заменить его на 0. Вывести конечную матрицу на экран.
Записать матрицу в одномерный массив
Записать элементов прямоугольной матрицы в одномерный массив в порядке следования столбцов.
Найти максимальные элементы столбцов матрицы
Найти максимальный элемент каждого столбца матрицы.
Запись в матрицу результатов побитовых операций
Заполнить первые две строки двумерного массива 4x8 случайными нулями и единицами. В третью строку записать результат побитовой операции И над числами в соответствующих столбцах первых двух строк, в четвертую - результат побитовой операции ИЛИ. Например, если в первой ячейке первой строки находится 0, а в первой ячейке второй строки 1, то в первой ячейке третьей строки будет 0 (результат И над 0 и 1), а в первой ячейке четвертой строки 1 (результат ИЛИ).
Определить строки матрицы, в которых число 5 встречается 3 и более раз
Матрицу 10x20 заполнить случайными числами от 0 до 15. Вывести на экран саму матрицу и номера строк, в которых число 5 встречается три и более раз.
Сортировка столбцов матрицы по возрастанию элементов первой строки
Изменить последовательность столбцов матрицы так, чтобы элементы их первой строки были отсортированы по возрастанию. Например, дана матрица
3 -2 6 4 8 1 12 2 5 4 -8 0
В результате работы программы она должна быть преобразована в следующую:
-2 3 4 6 1 8 2 12 4 5 0 -8
Как мы видим, первая строка отсортирована по возрастанию, а элементы столбцов перемещены в те столбцы, где находятся их первые элементы.
Разложение целой и дробной частей вещественных чисел по ячейкам матрицы
Вводятся пять вещественных чисел. Записать в первый столбец матрицы целую часть чисел, во второй - дробную часть, приведенную к пятизначному целому, в третий столбец - знак числа: 0 для положительных чисел и 1 - для отрицательных.
Например, если вводится число 3.234093, то в первой ячейке строки присваивается 3, второй присваивается 23409, а третьей - число 0.
Заполнение третьей матрицы по результатам сравнения элементов первых двух
Две равноразмерные матрицы (например, 4x3) заполняются вводом с клавиатуры. В ячейки третьей матрицы такой же размерности записывать бОльшие элементы из соответствующих ячеек первых двух матриц. Например, если во второй ячейке третьей строки первой матрицы находится число 89, а в ячейке с таким же индексом второй матрицы находится число 10, то в такую же ячейку третьей матрицы следует записать число 89.
Последний элемент строк матриц - сумма предыдущих элементов строки
Матрица 5x4 заполняется вводом с клавиатуры кроме последних элементов строк. Программа должна вычислять сумму введенных элементов каждой строки и записывать ее в последнюю ячейку строки. В конце следует вывести полученную матрицу.
Обмен значений главной и побочной диагоналей квадратной матрицы
В квадратной матрице 10x10 обменять значения элементов в каждой строке, расположенные на главной и побочной диагоналях.
Максимальный элемент среди минимальных элементов столбцов матрицы
Найти максимальный элемент среди минимальных элементов столбцов матрицы.
Суммы строк и столбцов матрицы
Посчитать суммы каждой строки и каждого столбца матрицы. Вывести суммы строк в конце каждой строки, а суммы столбцов под соответствующими столбцами.
Количество двузначных чисел в матрице
Сформировать матрицу из чисел от 0 до 999, вывести ее на экран. Посчитать количество двузначных чисел в ней.
Итак, целевой язык - 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; // переправляем очередной кусок информации в поток вывода}