Вычислить среднее арифметическое кодов элементов отсортированного массива, имеющих индекс кратный трем - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Вычислить среднее арифметическое кодов элементов отсортированного массива, имеющих индекс кратный трем»

textual
Листинг программы
  1. program Project2;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   SysUtils;
  7. var
  8.   arr: array [1..10] of string;
  9.   I: integer;
  10.   sum, num: integer;
  11.   res: extended;
  12.  
  13.  
  14. procedure sort(sym, down, up: integer);
  15. var
  16.   i, j, least: integer;
  17.   str1, str2, tmp: string;
  18. function NumSym(ch: string): integer;
  19. var
  20.   I: integer;
  21.   keys: array [1..26] of string;
  22. begin
  23.   keys[1] := ' a';
  24.   keys[2] := ' b';
  25.   keys[3] := ' c';
  26.   keys[4] := ' d';
  27.   keys[5] := ' e';
  28.   keys[6] := ' f';
  29.   keys[7] := ' g';
  30.   keys[8] := ' h';
  31.   keys[9] := ' i';
  32.   keys[10] := ' j';
  33.   keys[11] := ' k';
  34.   keys[12] := ' l';
  35.   keys[13] := ' m';
  36.   keys[14] := ' n';
  37.   keys[15] := ' o';
  38.   keys[16] := ' p';
  39.   keys[17] := ' q';
  40.   keys[18] := ' r';
  41.   keys[19] := ' s';
  42.   keys[20] := ' t';
  43.   keys[21] := ' u';
  44.   keys[22] := ' v';
  45.   keys[23] := ' w';
  46.   keys[24] := ' x';
  47.   keys[25] := ' y';
  48.   keys[26] := ' z';
  49.  
  50.   ch := ' ' + ch;
  51.  
  52.   for i := 1 to 26 do
  53.   begin
  54.     if (ch = (keys[i])) or (ch = UpperCase(keys[i])) then
  55.     begin
  56.       result := i;
  57.       exit;
  58.     end;
  59.   end;
  60. end;
  61. begin
  62.   for i := down to up do
  63.   begin
  64.     least := i;
  65.     for j := i to up do
  66.     begin
  67.       str1 := arr[j];
  68.       str2 := arr[least];
  69.  
  70.       if (sym <= length(str1)) and (sym <= length(str2))
  71.       then
  72.       begin
  73.         if NumSym(str1[sym]) > NumSym(str2[sym]) then
  74.           least := j;
  75.         if NumSym(str1[sym]) = NumSym(str2[sym]) then
  76.           sort(Sym+1, j, least+1);
  77.       end;
  78.     end;
  79.     //str1 := form1.mmo2.Lines[i];
  80.     //tmp := NumSym(str1[sym]);
  81.     tmp := arr[i];
  82.     arr[i] := arr[least];
  83.     arr[least] := (tmp);
  84.   end;
  85. end;
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95. begin
  96.  
  97.   arr[2] := 'WinApi';
  98.   arr[1] := 'Window';
  99.   arr[3] := 'fff';
  100.   arr[4] := 'some';
  101.   arr[5] := 'my';
  102.   arr[6] := 'boltushcaru';
  103.   arr[7] := 'haha';
  104.   arr[8] := 'trololo';
  105.   arr[9] := 'syyr';
  106.   arr[10] := 'fsdh';
  107.  
  108.   sort(1, 1, 10);
  109.  
  110.   sum := 0;
  111.   num := 0;
  112.  
  113.   for i := 1 to 10 do
  114.   begin
  115.     writeln(arr[i]);
  116.     if i mod 3 = 0 then
  117.     begin
  118.       sum := sum + i;
  119.       num := num + 1;
  120.     end;
  121.   end;
  122.   res := sum / num;
  123.  
  124.   writeln(res);
  125.  
  126.   readln;
  127. end.

Объяснение кода листинга программы

Этот код написан на Turbo Pascal и выполняет следующие действия:

  1. Создает массив arr с 10 элементами, каждый из которых является строкой.
  2. Инициализирует переменные sum, num и res нулевыми значениями.
  3. Заполняет массив arr строками, используя значения из ключей ASCII.
  4. Реализует функцию NumSym, которая определяет индекс символа в строке.
  5. Применяет алгоритм сортировки, описанный в книге Структуры данных и алгоритмы в Java Роберта Лафоре, чтобы отсортировать массив arr.
  6. Вычисляет среднее арифметическое кодов элементов массива, имеющих индекс, кратный трем, и выводит результат. Вот список действий, выполненных в коде, с номерами в соответствии с порядком:
  7. Создание массива arr.
  8. Инициализация переменных sum, num и res.
  9. Заполнение массива arr.
  10. Реализация функции NumSym.
  11. Применение алгоритма сортировки.
  12. Вычисление среднего арифметического кодов элементов массива, имеющих индекс, кратный трем.
  13. Вывод результата.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.357 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы