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

Пользователь вводит через дефис две буквы, Ваша задача написать программу, которая будет возвращать все символы между ними включительно. Никаких проверок на ошибку делать не надо, минимальное значение всегда

меньше или равно максимальному.

Пример:

"a-c" -> abc

"a-a" -> a

"s-H" -> stuvwxyzABCDEFGH

"a-A" ->

👇
Открыть все ответы
Ответ:
olik29
olik29
03.12.2022

я сегодня добрый :) Первая задача.

 

var
  s, mn: set of integer;
  f: boolean;
  k, n, c, i, j, kol: integer;

begin
  writeln('Введите трехзначное число:');
  repeat readln(n) until n in [100..999]; // защита от "дурака"
  k := n;    // записываем число, чтобы вывести на результат
 
  while n <> 0 do
  begin           // пока число не станет равно нулю...
    c := n mod 10;   // последняя цифра числа
    include(s, c);   // вносим эту цифру в множество
    n := n div 10    // у числа отсекаем рассмотренную цифру
  end;
 
  for i := 100 to 999 do
  begin    // рассматриваем все трехзначные числа
    mn := s; j := i; f := true;  // все обнуляем
    while j <> 0 do
    begin    // пока рассматриваемое число не будет равно нулю
      c := j mod 10;    // последняя цифра числа
      if c in mn then exclude(mn, c) else f := false;    // если число во множестве, то убираем его оттуда, чтобы избежать повторений, иначе - не рассматриваем его.
      j := j div 10;    // у числа отсекаем рассмотренную цифру
    end;
    if f then begin inc(kol); write(i:6) end    // если проверка успешно, то выводим число на экран и прибавляем значение переменной-счетчика!
  end;
 
 
  writeln; writeln('Из ', k, ' можно составить ', kol, ' чисел!');   // выводим результат
  readln;
end.

 

А вот вторая, комменты к ней писать было уже лень:

 

var
  k, i, n, kol: integer;

begin
  writeln('Количество трехзначных чисел, которые вы далее введете?');
  repeat readln(k) until k in [1..10];
  for i := 1 to k do
  begin
    writeln('Введите ', i, ' трехзначное число:');
    repeat readln(n) until n in [100..999];
    while n <> 0 do
    begin
      if ((n mod 10) mod 2 = 0) then inc(kol);
      n := n div 10;
    end;
  end;
  writeln('Количество четных чисел = ',kol);
  readln  
end.

4,6(98 оценок)
Ответ:
ksusha6060606
ksusha6060606
03.12.2022

var i:word; переменная через которую будут проходить все трехзначные цифры
s:longint; переменная для хранения суммы
begin
s:=0;-обнуляем переменную где будем сохранять сумму
write('Числа: ');
for i:=100 to 999 do  начинаем перебор всех трехзначных цифр
if i mod 2 = 0 then проверка на четность, мод - это деление по остатку,т.е в ответ записывается остаток от деления
if i mod 7 = 0 then begin write(i,' '); s:=s+i; end; выводим четное число кратное 7 и в тоже время суммируем его с последующими четными кратных 7ми, в переменной s
writeln; пропускаем строку
writeln('Сумма всех всех четных трехзначных чисел, которые делятся на 7 = ',s); выводим на экран результат
end.

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