В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
anzhela33
anzhela33
17.04.2020 04:12 •  Информатика

A. большая электронная матрица

ограничение времени 1 секунда

ограничение памяти 32mb

ввод matrix.in

вывод matrix.out

фирма по производству новых многоэлементных электронных матриц запускает новую линию, комплектуя ее узлом проверки готовой матрицы. узел засвечивает матрицу, подает напряжение на ее ячейки и считывает показания коэффициентов преломления каждой ячейки в виде цифр от 0 до 9. из этих показаний формируется таблица и записывается в файл. для оценки качества матрицы используется суммы коэффициентов преломления по каждой строке матрицы, а также количество сумм с максимальным значением из всех сумм коэффициентов по данной матрице. напишите программу, определяющую требуемые характеристики матрицы по имеющейся таблице коэффициентов преломления.

формат ввода

в первой строке входного файла matrix.in записано два натуральных числа, не превышающих 1024 - количество строк прямоугольной матрицы и количество ячеек в каждой строке. в последующих строках записаны без пробелов коэффициенты преломления.

формат вывода

в файл matrix.out следует вывести суммы коэффициентов преломления по одному в строке. последней строкой файла следует вывести количество сумм с максимальным значением из всех сумм коэффициентов по данной матрице. таким образом, в файле должно быть записано столько чисел, из скольких строк состоит электронная матрица, плюс одно число.

пример

ввод вывод

5 5

73022

95308

59282

55332

21797

14

25

26

18

26

2

Показать ответ
Ответ:
aslanəz
aslanəz
23.03.2023 02:28

Решение на c++:

#include <iostream>

#include <ctime>

int main()

{

   int N, i, a, b, k1 = 0, k2 = 0, s1 = 0, s2 = 0;

   int A[10000];

   std::cin >> a >> b >> N;

   srand(time(0));

   for (i = 0; i < N; i++)

   {

       A[i] = rand()%(b-a+1)+a;

       if (A[i] < 50)

       {

           k1++;

           s1 += A[i];

       }

       else

       {

           k2++;

           s2 += A[i];

       }

       std::cout << A[i] << " ";

   }

   std::cout << std::endl << ((k1 == 0) ? 0 : (s1*1./k1)) << " ";

   std::cout << ((k2 == 0) ? 0 : (s2 * 1. / k2)) << " ";

   return 0;

}

0,0(0 оценок)
Ответ:
pomogiteplease1245
pomogiteplease1245
02.08.2022 15:36
Берем третьи байты и переводим в двоичную систему счисления:добавим в начале нулей, чтобы получилось 8 цифр.   ←    ←  найдем маску. запишем с столбик. если элементы одинаковые, ставим соответствующее число, если элементы разные, ставим крестик: 00000101 00011101 000xx101    ← маска т.к. по правилу в маске, сначала идут единицы, переместим их в начало: 11xx0000 если бы по условию, надо было бы найти наименьшее возможное значение, то мы бы заменяли крестики(х) на нули. т.к. по условию необходимо наибольшее возможное значение, подставляем вместо крестиков(x), единицу и переведем в десятичную систему счисления:
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота