10. Input processing output and storage are collectively referred to as а) Data processing life cycle
б) Program life cycle
в) Hardware life cycle
г) System life cycle
д) No correct answer
11. WWW stand for
а) Word whole web
б) Wide world web
в) Web world wide
г) World wide web
д) Wide web world
12. Which mathematical create a logarithm table to facilitate calculation?
а) John Napier
б) Von Neumall
в) Charles Babbage
г) John Eckert
д) No correct answer
#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; }
Объяснение:
Программа 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.