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

Информатика, 8 класс. 3,4,5 во

Показать ответ
Ответ:
RickeyF2228
RickeyF2228
26.06.2022 09:39

#include <iostream>

#include <time.h>

#include <cstdlib>

using namespace std;

int main() {

int n, s = 0, max = 0, min = 9;

srand(time(NULL));

 

do {

 cout << "Input size of matrix: n = ";

 cin >> n;

 if (n < 0)  

 {

  cout << "Input error! n < 0. Please try again" << endl;

  continue;

 }

 else break;

} while (true);

 

int **matr = new int* [n];

for(int i = 0; i < n; i++)

 matr[i] = new int [n];

 

for (int i = 0; i < n; i++)  

{

 for (int j = 0; j < n;j++)  

 {

  matr[i][j] = rand() % 10;

  cout << matr[i][j] << " ";

 }

 cout << endl;

}

 

for (int i = 0; i < n; i++)  

{

 if (max < matr[i][i])

  max = matr[i][i];

 if (min > matr[i][n-i-1])

  min = matr[i][n-i-1];

 s += matr[i][i] + matr[i][n - i - 1];

}

if (n % 2 != 0)

 s -= matr[n / 2][n / 2];

cout <<"Maximum number on the main diagonal: " << max << endl << "Minimum number on the secondary diagonal: " << min << endl << "Sum of numbers on the diagonals: " << s;

 

return 0;

}

/* Редактор не сохраняет отступы зачастую, поэтому прикрепил .cpp файл с кодом */

0,0(0 оценок)
Ответ:
DmitriyGromov
DmitriyGromov
27.04.2023 09:11

"...напечатает сначала 2, потом - 6" -- это значит a=2 и b=6?


про пятеричные записи ничего не понял...  :) И ИМХО к чему такие сложности? И для чего нам комп и программа? Я подправил исходную прогу чтобы она выдавала все числа подходящие по условию

var x,a,b: longint;


begin

   for var i := 999 DownTo 100 do begin

       a := 0;

       b := 1;

       x := i;

       while x>0 do begin

           if x mod 2 > 0 then a := a+1 else b := b+(x mod 5);

           x := x div 5;

       end;

       if (a = 2) and (b = 6) then writeln('x = ', i, ' a = ', a, ' b = ',b);

   end;

end.


прога проводит расчет для всх трехзначных чисел от 999 до 100

итого мы видим что максимальное подходящее число это 960

при необходимости прогу можно переделать чтобы она находила только максимальное число.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота