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

Определите количество натуральных чисел, удовлетворяющих неравенству: 110010112 < x < ed16.

Показать ответ
Ответ:
vorsunovakatv
vorsunovakatv
23.02.2023 16:23

Программа 1:

{Free Pascal Compiler version 3.0.4+dfsg-23 [2019/11/25] for x86_64}

{Copyright (c) 1993-2017 by Florian Klaempfl and others}

{Target OS: Linux for x86-64}

program test;

const

 max_num = 100; {Максимальная величина в массиве}

var

 N : integer; {Размерность массива}

 Massiv : array of array of integer;

 i, j : integer; {Счетчики циклов}

 p : int64; {Произведение элементов}

begin

Randomize;

write('Введите число - размер массива N: ');

readln(N);

{Установка размера массива}

SetLength(Massiv, N, N);

{Формирование случайного двумерного массива с элементами от 1 до 100}

for i := 0 to N-1 do begin

 for j := 0 to N-1 do begin

  Massiv[i, j] := Round(Random * max_num) + 1;

  write(Massiv[i,j]:4)

 end;

 writeln

end;

 

 

p := 1; {Инициализация переменной для подсчета произведения}

{Собственно, сам подсчёт.}

{Для главной диагонали особенность индексов, где i = j}

{Поэтому достаточно одного цикла}

for i := 0 to N-1 do

 p := p * Massiv[i, i];

writeln('Произведение р = ', p)

end.

Программа 2:

{Free Pascal Compiler version 3.0.4+dfsg-23 [2019/11/25] for x86_64}

{Copyright (c) 1993-2017 by Florian Klaempfl and others}

{Target OS: Linux for x86-64}

program test;

const

 max_num = 100; {Максимальная величина в массиве}

var

 N : integer; {Размерность массива}

 Massiv : array of array of integer;

 i, j : integer; {Счетчики циклов}

 c, m, k : integer; {Подсчёт чётных элементов}

begin

Randomize;

write('Введите число - размер массива N: ');

readln(N);

{Установка размера массива}

SetLength(Massiv, N, N);

{Формирование случайного двумерного массива с элементами от 1 до 100}

for i := 0 to N-1 do begin

 for j := 0 to N-1 do begin

  Massiv[i, j] := Round(Random * max_num) + 1;

  write(Massiv[i,j]:4)

 end;

 writeln

end;

{Обнуление счётчиков}

m := 0; k := 0;

for i := 0 to N-1 do begin

 {Подсчёт чётных в строке i}

 c := 0;

 for j := 0 to N-1 do

  if (Massiv[i, j] mod 2 = 0) then Inc(c);

 

 {Если чётных больше, чем в предыдущих строках, то}

 if (c > m ) then begin

  {запоминаем номер строки в переменной k}

  k := i;

  {запоминаем текущее количество чётных}

  m := c

 end

end;

writeln('Чётных чисел больше в строке ', k,'. Их - ', m)

end.


Нужно написать программа в Pascal: 1) В двумерном массиве найти произведение элементов главной диаго
Нужно написать программа в Pascal: 1) В двумерном массиве найти произведение элементов главной диаго
0,0(0 оценок)
Ответ:
Artemij08
Artemij08
21.04.2023 08:36

#include <iostream>

#include <vector>

#include <cstdint>

using namespace std;  template <class T>

istream& operator>>(istream &in, vector<T> &vec) {   for (auto &it : vec)     in >> it;   return in;

}  

template <class T>

ostream& operator<<(ostream &out, vector<T> &vec) {   for (auto &it : vec)     out << it << ' ';   return out;

}  

template <class T, class U>

istream& operator>>(istream &in, pair<T, U> &pair) {   in >> pair.first >> pair.second;   return in;

}  

template <class T, class U>

ostream& operator<<(ostream &out, pair<T, U> &pair) {   out << pair.first << ' ' << pair.second;   return out;

}

signed main(void) {     int32_t n; cin >> n;     vector<vector<int64_t>> a(n, vector<int64_t>(n,-1));     int64_t x = 0, y = n/2;     a[x][y] = 1;     for(int32_t i = 2; i <= n*n; ++i) {         int _x = x, _y = y;         if(!x) {             x =  n-1;         }         else {             --x;         }         if(y == n-1) {             y = 0;         }         else {             ++y;         }         if(a[x][y] != -1) {             x= _x, y = _y;             while(a[x][y] != -1) {                 if(x == n-1) {                     x = 0;                 }                 else {                     ++x;                 }             }         }         a[x][y] = i;     }     for(int32_t i = 0; i < n; ++i) {         cout << a[i] << '\n';     }     return 0;  }

Объяснение:

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