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

Мистер Фокс разгадывает загадку. На бумаге должно быть 9 чисел в таблице 3 на 3. Все числа различаются друг от друга. Случилась неприятность, на центральное поле попала вода. После этого прочесть её никак не получается. Мистер Фокс знает, какие действия над числами совершались в таблице.
1. Сортируем второй столбец по возрастанию.
2. Прибавляем к первой строке вторую.
3. Сортируем первую строку по возрастанию.
4. Вычитаем из второй строки третью
5. Сортируем все столбцы по убыванию
найти неизвестное число, если после всех действий получилась новая таблица:


Мистер Фокс разгадывает загадку. На бумаге должно быть 9 чисел в таблице 3 на 3. Все числа различают
Мистер Фокс разгадывает загадку. На бумаге должно быть 9 чисел в таблице 3 на 3. Все числа различают

👇
Открыть все ответы
Ответ:
Pollyru
Pollyru
30.01.2021
Собсна на c++
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{ setlocale(LC_ALL, "Russian");
const int N = 5, M = 5;
int a[N][M];
int min;
cout << "Zapolnite matricu 5 na 5: " << endl;
for (int i(0); i < N; i++)
{ for (int j(0); j < M; j++)
 { cin >> a[i][j]; } }
min = a[0][0];
for (int i(0); i < N; i++)
{ for (int j(0); j < M; j++)
 { if (min > a[i][j])
   min = a[i][j]; } }
cout <<"Minimal`nii element: "<< min << endl;
_getch();
return 0;}
4,7(57 оценок)
Ответ:
Абдусатор
Абдусатор
30.01.2021
Ну вот, пока без комментариев по 1му вопросу. балы можете не добавлять.
Только тут ведется просмотр всего массива от B[1, 1] до B[n, m]
чтобы начинать просмотр скажем с [10, 10] надо вначале i j присвоить 10, и при переходе к следующему столбцу после приращения j на 1,устанавливать i:=10
 Далее что нужно, чтобы переделать его во 2е задание. Принцип пробега по массиву не меняется. Но теперь вместо min и max будем работать с рабочими переменными SUM и Pr. В SUM накапливаем сумму положительных. Начальное значение можно взять равное нулю.
Затем пробегаем по циклу сравниваем текущий элемент B[i, j] c 0 если B[i, j]>0, то добавляем его в сумму SUM:=SUM+B[i, j]
В противном случае переходим к следующему элементу.
Сложнее будет с произведением. Механизм накопления можно реализовать аналогично а вот какое присвоить начальное значение. 0? ну тогда, что бы мы не нашли произведение с 0 будет 0. 1? а вдруг вообще нет отрицательных элементов, а у нас произведение получится равным 1.
 Мне кажется надо сначала присвоить ему значение 0. А затем при пробежке по массиву при нахождении отрицательного числа сравнить произведение Pr с нулем
Pr=0? да тогда переопределяем его так: Pr:=B[i, j] (присваем ему значение найденного отрицательного элемента) .
Pr≠0? тогда переопределяем его так: Pr:=Pr*B[i, j]

P.S. И все-таки лучше уточнить у преподавателя, к чему относится отрезок. Т.е. это диапазон индексов поиска i, j? Или все же диапазон возможных значений элементов массива B[i, j]. Хотя можно выбрать один из вариантов и самому и оговорить его по ходу решения.(По-моему проще принять это как диапазон возможных значений элементов массива.)
На мой взгляд в условии следовало это оформить отдельным предложением. Например:
Числовые значения элементов массива принадлежат отрезку [-100; 100].
4,6(19 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ