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

Почему у меня неправильная сортировка (python)?
и как это исправить?

a = ()
c = []
b = ()
for i in range(len(a)):
if a[i] in b:
c.append(a[i])
print(sorted(c))

входные данные:
a = 23 2 4 25
b = 34 3 2 4 23 25

👇
Открыть все ответы
Ответ:
lizalubavina
lizalubavina
02.11.2020

вот 3 варианта решения задачи:

1. с временной целочисленной переменной вместо булеан.

var

   a, f : integer;

begin

   write('введите число: ');

   readln(a);

   while a div 10 > 0 do begin

       if (a mod 10) >= ((a mod 100) div 10) then f := 1;

       a := a div 10;

   end;

   if f = 0 then writeln('ДА') else writeln('НЕТ');

end.

2. с строчной переменной которой присваивается текст ответа.

var

   a : integer;

   f : string := 'ДА';

begin

   write('введите число: ');

   readln(a);

   while a div 10 > 0 do begin

       if (a mod 10) >= ((a mod 100) div 10) then f := 'НЕТ';

       a := a div 10;

   end;

   writeln(f);

end.

3. без дополнительных переменных но с оператором break.

var

   a : integer;

begin

   write('введите число: ');

   readln(a);

   while a div 10 > 0 do begin

       if (a mod 10) >= ((a mod 100) div 10) then begin

           writeln('НЕТ');

           break;

       end;

       a := a div 10;

       if a < 10 then writeln('ДА');

   end;

end.

4,7(75 оценок)
Ответ:
gulua1
gulua1
02.11.2020

var

   a: integer;

begin

   {1}

   readln(a);

   if a > 0 then a := a + 1;

   writeln(a);

   

   {2}

   readln(a);

   if a < 0 then a := a * 2;

   writeln(a);

   

   {3}

   readln(a);

   if a <> 0 then a := a - 4;

   writeln(a);

   

   {4}

   readln(a);

   if a > 0 then a := a + 1

   else a := a - 1;

   writeln(a);

   

   {5}

   readln(a);

   if a = 0 then a := a + 3

   else a := 0;

   writeln(a);

end.

{6}

var

   x, y: real;

begin

   readln(x, y);

   if x > y then x := x * y

   else x := x + y;

   writeln(x);

end.

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