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

Видоизмените программу сортировки массива выбором так чтобы в ней использовалась процедура выбора наибольшего элемента массива.

👇
Ответ:
lenamolchanova1
lenamolchanova1
03.12.2021
    ' // Процедура сортировки алгоритмом выборки
    Sub SelectionSort(ByRef array() As Integer, ByVal ToUpper As Boolean)
        Dim Dump As Integer
        Dim Index As Integer
        Dim Work As Integer

        Do
            For i As Integer = Work To UBound(Array)
                If ToUpper = True Then
                    If (Array(Index) > Array(i)) Then Index = i
                Else
                    If (Array(Index) < Array(i)) Then Index = i
                End If
            Next

            Dump = Array(Index)
            Array(Index) = Array(Work)
            Array(Work) = Dump
' // c2fbefeeebede8eb3a20caf3eff0e8ffedeee220c42ec52e2028632920442d6d6f6e3535
            Work += 1
            Index = Work
        Loop Until (Work > UBound(Array))
    End Sub
4,5(75 оценок)
Открыть все ответы
Ответ:
Аnuk
Аnuk
03.12.2021
Не самый лёгкий, но работающий

const  n = 10000;//Не изменяемая по ходу программы переменная
var  a: array[1..n] of integer;  b: array[1..10]of integer;  c: array[1..10]of integer;  i, s, v: integer;
begin  for i := 1 to 10 do //Заполнение массива с числами от 1 до 10    c[i] := i;  for i := 1 to n do //Заполнение массива    a[i] := random(10) + 1; //Делается для того чтобы в массиве не было нулей  for i := 1 to n do    case a[i] of      1: b[1] := b[1] + 1;      2: b[2] := b[2] + 1;      3: b[3] := b[3] + 1;      4: b[4] := b[4] + 1;      5: b[5] := b[5] + 1;      6: b[6] := b[6] + 1;      7: b[7] := b[7] + 1;      8: b[8] := b[8] + 1;      9: b[9] := b[9] + 1;      10: b[10] := b[10] + 1;    End;    for i := 1 to 10 do    for s := 1 to 9 do      if b[s] > b[s + 1] then begin        v := b[s];        b[s] := b[s + 1];        b[s + 1] := v;        v := c[s];        c[s] := c[s + 1];        c[s + 1] := v;      end;  writeln(c[10], ' - их ', b[10]);    end.
4,4(82 оценок)
Ответ:
MaykTV26
MaykTV26
03.12.2021
ответ на 1 задачу
Алгоритм выглядит таким образом:
ввести x, y;
если x>y то
 s:=(x*y)*2;
иначе
 s:=(x+y)/2;
вывод s
конец. (блок-схема прилагается в скриншоте 1)

На паскале выглядит примерно так:
var
 x, y, s:real;
begin
readln(x,y);
if x>y then
s:=(x*y)*2;
else
s:=(x+y)/2;

writeln(s:2:2);
end.

ответ на 2 задачу
Тут идентичный алгоритм: вводим 2 переменные x, y, далее создаем условие и возводим в модуль... (скриншот 2 с блок-схемой)

ответ на 3 задачу
Тут тоже.. в условии указываешь просто a<b<c, если условие верно, то выводишь "Верно", иначе "Не верно".

На паскале выглядит примерно так:

var
 a, b, c:integer; {если число вещественное}
begin
readln(a, b, c); 
if (a<b<c) then
writeln("Верно");
else
writeln("Неверно");
end.

ответ на 4 задачу
На паскале:
var
 a, b, c, max:integer;
begin
max:=0;
readln(a,b,c);
if max<a then
max:=a;
if max<b then
max:=b;
if max<c then
max:=c;

writeln(max);
end.

ответ на 5 вопрос
На паскале:

Var
a,b,c:integer;
begin
readln(a,b,c);
if (a<0) then
a:=a*a;
writeln(a);

if (b<0) then
b:=b*b;
writeln(b);

if (c<0) then
c:=c*c;
writeln(c);
end.

Удачи!


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