Отсортировать массив с первого элемента до P элемента по возрастанию - C (СИ)

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

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

Ребята, выручите. Задание - есть одномерный массив из 20 элементов. Ее надо отсортировать с первого элемента до P элемента по возрастанию, и с последнего элемента до P1 элемента по убыванию. Значение P и P1 мы вводим в программу сами. К примеру, матрица А = 1 3 2 5 7 6 1 1 1 1 3 5 6 7 7 0 5 7 6 5. Число P=6. Значит я первые 6 элементов сортирую по возрастанию и получаю матрицу А = 1 2 3 5 6 7 1 1 1 1 3 5 6 7 7 0 5 7 6 5. Число p1=3. Значит я последние 3 элемента сортирую по убыванию.

Тут А = 1 2 3 5 6 7 1 1 1 1 3 5 6 7 7 0 5 5 6 7.

Это то, что должно получится.

Вот код. Помогите разобраться, пожалуйста.
Листинг программы
  1. #include <stdio.h>
  2. int main() {
  3. const n=20;
  4. int a[n];
  5. int p, p1;
  6. int j,i;
  7. printf("Vvedi p=");
  8. scanf("%d",&p);
  9. printf("Vvedi p1=");
  10. scanf("%d",&p1);
  11. for (i = 0; i < n; i = i + 1) {
  12. a[i][j]=-20 + random(41);
  13. }
  14. for (i = 0; i < n; i = i + 1) {
  15. printf("%d\t",a[i]);
  16. }
  17. for (i=0; i<p-1; i++)
  18. for (j=i; j<p; j++) \\\ p - значение с клавиатуры
  19. if (a[i]>a[j])
  20. {
  21. int tmp=a[i];
  22. a[i]=a[j];
  23. a[j]=tmp;
  24. }
  25. for (i=0; i<p1-1; i++)
  26. for (j=i; j<p1; j++) \\\ p1 - значение с клавиатуры
  27. if (a[i]<a[j])
  28. {
  29. int tmp=a[i];
  30. a[i]=a[j];
  31. a[j]=tmp;
  32. }
  33. for (i = 0; i < n; i = i + 1) { \\\ матрица после сортировки пузырьком
  34. printf("%d\t",a[i]);
  35. }
  36. return(0);
  37. }

Решение задачи: «Отсортировать массив с первого элемента до P элемента по возрастанию»

textual
Листинг программы
  1. #include "stdafx.h"
  2. #include <stdio.h>
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8.     const int n = 10;
  9.     int a[n];
  10.     int p, p1;
  11.     int j, i;
  12.     cout << "Vvedi p=";
  13.     cin >> p;
  14.     cout  << "Vvedi p1=";
  15.     cin >> p1;
  16.  
  17.     for (i = 0; i < n; i = i + 1)
  18.     {
  19.         a[i] = rand() % 10 + 1; // диапазон равен от 1 до 3 включительно;
  20.     }
  21.  
  22.     for (i = 0; i < n; i = i + 1)
  23.     {      
  24.         cout << a[i] << " "; //  сгенерированная матрица
  25.        
  26.     }
  27.     cout << "\n";
  28.  
  29.     for (i = 0; i < p - 1; i++)// p - значение с клавиатуры
  30.     {
  31.         for (j = i; j<p; j++)
  32.         {
  33.             if (a[i] > a[j])
  34.             {
  35.                 int tmp = a[i];
  36.                 a[i] = a[j];
  37.                 a[j] = tmp;
  38.             }
  39.         }  
  40.     }
  41.     for (i = 0; i < n; i = i + 1)
  42.     {
  43.         cout << a[i] << " "; //  сгенерированная матрица
  44.  
  45.     }
  46.     cout << "\n";
  47.     for (i = p1; i > 0; i--)// p1 - значение с клавиатуры
  48.     {
  49.         for (j = p1; j > 0; j--)
  50.         {
  51.             if (a[n-i] > a[n-j])
  52.             {
  53.                 int tmp = a[n-i];
  54.                 a[n-i] = a[n-j];
  55.                 a[n-j] = tmp;
  56.             }
  57.         }  
  58.        
  59.     }
  60.    
  61.     for (i = 0; i < n; i = i + 1)
  62.     {
  63.         cout << a[i] << " "; //  матрица после сортировки    пузырьком
  64.     }
  65.     system("Pause");
  66. }

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


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

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

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

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

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

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