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

Создайте таблицу «Озера Казахстана» на новом листе2 в файле «Моя база данных», используя данные из Интернета, по площади (кв. км) и

наибольшей глубине (м): Каспийское море − 371 000 и 1025, Балхаш − 16 400 и 27;

Алаколь − 2200 и 45; Зайсан − 1810 и 15 и другие.

👇
Открыть все ответы
Ответ:
урган1
урган1
17.10.2020
Const PTR = 10;
type razbivka = array[0..PTR] of byte;
var n, i, z, k: byte;
x: razbivka;
procedure p(var x: razbivka; var z: byte);
var i, j, s: byte;
begin
i := z - 1;
s := x[z];
while (i > 1) and ( x[i - 1] <= x[i] ) do
begin
s := s + x[i];
dec(i);
end;
inc( x[i] );
z := i + s - 1;
for j := i + 1 to z do
x[j] := 1;
end;
begin
write('Введите число: ');
readln(n);
write(n,' = ');
z := n;
for i := 1 to z do
x[i] := 1;
for i := 1 to n do begin
if i > 1 then write(' + ');
write( x[i], '' );
end;
writeln;
repeat
p( x, z );
inc(k);
write( n,' = ' );
for i := 1 to z do begin
if i > 1 then write(' + ');
write( x[i], '' );
end;
writeln;
until z = 1;
end.

p.s: нашел в интернете для вас вариант с рекурсией. Сами можете убедиться, что с ней только хуже (по быстродействию уж точно)

const  m = 100;
var  a: array[1..m] of integer;
k, n: integer;
procedure p(j,n: integer);
var  i: integer;
begin if ( n = 0 ) and ( k > 1 ) then
begin  for i := 1 to k do
write( a[i] : 4 );
writeln;
end else for i := j to n do
begin
Inc(k);
a[k] := i;
p( j, n - i );
Dec(k);
end;
end;
begin
write('Введите число: ');
readln(n);
k := 0;
p(1,n);
end.

значения PTR и m можно поставить и больше, но тогда я не ручаюсь)
4,5(20 оценок)
Ответ:
3десь
3десь
17.10.2020
Алгоритм решения

Для начала давай посмотрим на года.

1. Если разница между годом рождения и текущим годом больше 16, мы однозначно можем сказать, что человеку уже есть 16.

2. Если разница между годом рождения и текущим годом меньше 16, мы однозначно можем сказать, что человеку ещё нет 16.

Если разница между годом рождения и текущим годом равна 16, мы можем сказать, что у человека день рождения в этом году. Давай глянем на месяц.

1. Если текущий месяц больше месяца рождения, человеку уже есть 16.

2. Если текущий месяц меньше месяца рождения, человеку ещё нет 16.

Если у человека день рождения в этом месяце, давай точно так же глянем на дни.

В итоге мы уже точно знаем, когда у человека день рождения.


Код решения

#include <bits/stdc++.h>

using namespace std;


int main() {

   int d1, m1, y1, d2, m2, y2;

   cin >> d1 >> m1 >> y1 >> d2 >> m2 >> y2;

   if (y2 - y1 > 16) {

       cout << "YES" << endl;

       return 0;

   } else if (y2 - y1 < 16) {

       cout << "NO" << endl;

       return 0;

   }

   if (m2 > m1) {

       cout << "YES" << endl;

       return 0;

   } else if (m2 < m1) {

       cout << "NO" << endl;

       return 0;

   }

   if (d2 < d1) {

       cout << "NO" << endl;

       return 0;

   }

   cout << "YES" << endl;

   return 0;

}


Файл решения прикреплён.

4,5(89 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ