Павловна1750
?>

Составьте программу сортировки по возрастанию значений трех переменных: а, в, с. продемонстрируйте данный алгоритм в виде блок-схемы.

Информатика

Ответы

parabolaspb

var a, b, c, t: integer;

begin

readln(a, b, c);

if a > b then begin t:=a; a:=b; b:=t end;

if b > c then begin t:=b; b:=c; c:=t end;

if a > b then begin t:=b ;b:=a; a:=t end;

writeln(a, ' ', b, ' ', c);

end.


Составьте программу сортировки по возрастанию значений трех переменных: а, в, с. продемонстрируйте д
rykovatv6

Как-то так:

#include <iostream>


using namespace std;


// В данном примере я использовал типы float, т. к. при попытке делить 3 на 2 мы получаем 1.5, но тип int обрезает все после .


int main()

{

   cout << "Task 30240725!" << endl; // just for fun


   int m[12] = {-1,-2,3,4,5,6,7,8,9,10,11,12}; // Инициализируем массив из 12 элементов, чтоб хоть части из них была отрицательная


   // среднее арифметическое состоит из сумма_числел / кол-во_чисел


   float min_sum = 0;          // сумма чисел

   float total_min_count = 0;  // кол-во чисел


   // Инициализиуем цикл от 0 (т. к. все массивы начинаются с 0) до 12 не включительно (т. к. всего элементов 12 начиная с 0. Значит 11)

   for (int i = 0; i < 12; i++) {


       // если текущий элемент массива m от индекса i меньше чем 0, значит это отрицательное число

       if (m[i] < 0) {


           min_sum += m[i];    // складываем, непосредственно, само число m[i]

           total_min_count++;  // увеличиваем кол-во чисел на 1. Можно написать строку вида total_min_count = total_min_count + 1; - суть не поменяется


       }

   }


   // Если в массиве не было отрицательных чисел, то делаем проверку. Если кол_во_чисел и сумма_чисел равны 0 значит в массиве не было отрицательных чисел.

   // а т. к. по умолчанию min_sum и total_min_count равны 0, то при попытке поделить их получим ошибку. Для этого обрабатываем это условие, чтоб не дать ее допустить.

   if (total_min_count == 0 && min_sum == 0) {

       // Выкидываем сообщение, мол, нету в массиве отрицательных чисел, работать не буду

       cout << "There are no negative numbers in the array" << endl;


       // делаем return, дабы программа не продолжила выполнение

       return 0;

   }


   // если же у нас есть и кол-во_чисел и общая_сумма, то спокойно делим одно на другое и сразу выводим в консоль результат.

   cout << "Average: " << min_sum / total_min_count << endl;


   // завершаем выполнение программы

   return 0;

}

zakupka-marion
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016
begin
  var s:=ReadInteger('n=').ToString.JoinIntoString('');
  Writeln('Цифр в числе- ',s.Length);
  Writeln('Сумма цифр- ',s.Select(d->Integer.Parse(d)).Sum);
  Writeln('Последняя цифра- ',s.Last);
  Writeln('Первая цифра- ',s.First);
  Writeln('Предпоследняя цифра- ',s[s.Length-1]);
  var m:=ReadInteger('m=');
  Write('Сумма ',m,' последних цифр числа- ');
  Writeln(s.Skip(s.Length-m).Select(d->Integer.Parse(d)).Sum);
  Write('Цифра 3 в запись числа ');
  if Pos('3',s)>0 then Writeln('входит')
  else Writeln('не входит');
  Writeln('Число в обратном порядке- ',s.Reverse.JoinIntoString(''));
  Writeln('Перестановка первой и последней цифр- ',
    s.Last+Copy(s,2,s.Length-2)+s.First);
end.

Тестовое решение:
n= 1063
Цифр в числе- 4
Сумма цифр- 10
Последняя цифра- 3
Первая цифра- 1
Предпоследняя цифра- 6
m= 2
Сумма 2 последних цифр числа- 9
Цифра 3 в запись числа входит
Число в обратном порядке- 3601
Перестановка первой и последней цифр- 3061

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Составьте программу сортировки по возрастанию значений трех переменных: а, в, с. продемонстрируйте данный алгоритм в виде блок-схемы.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

sargisyan
Оксана
ddavydov1116
ksyrika
eobmankina
r682dm2011
Bologova Golovach1989
prohorovalena
l250sp70
lescha-77766
MikhailNechaeva
Морозов
михаил
vladislavk-market2
ivstigres65