Отсортировать массив с первого элемента до 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.
Это то, что должно получится.
Вот код. Помогите разобраться, пожалуйста.#include <stdio.h> int main() { const n=20; int a[n]; int p, p1; int j,i; printf("Vvedi p="); scanf("%d",&p); printf("Vvedi p1="); scanf("%d",&p1); for (i = 0; i < n; i = i + 1) { a[i][j]=-20 + random(41); } for (i = 0; i < n; i = i + 1) { printf("%d\t",a[i]); } for (i=0; i<p-1; i++) for (j=i; j<p; j++) \\\ p - значение с клавиатуры if (a[i]>a[j]) { int tmp=a[i]; a[i]=a[j]; a[j]=tmp; } for (i=0; i<p1-1; i++) for (j=i; j<p1; j++) \\\ p1 - значение с клавиатуры if (a[i]<a[j]) { int tmp=a[i]; a[i]=a[j]; a[j]=tmp; } for (i = 0; i < n; i = i + 1) { \\\ матрица после сортировки пузырьком printf("%d\t",a[i]); } return(0); }
Решение задачи: «Отсортировать массив с первого элемента до P элемента по возрастанию»
textual
Листинг программы
#include "stdafx.h" #include <stdio.h> #include <iostream> using namespace std; int main() { const int n = 10; int a[n]; int p, p1; int j, i; cout << "Vvedi p="; cin >> p; cout << "Vvedi p1="; cin >> p1; for (i = 0; i < n; i = i + 1) { a[i] = rand() % 10 + 1; // диапазон равен от 1 до 3 включительно; } for (i = 0; i < n; i = i + 1) { cout << a[i] << " "; // сгенерированная матрица } cout << "\n"; for (i = 0; i < p - 1; i++)// p - значение с клавиатуры { for (j = i; j<p; j++) { if (a[i] > a[j]) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } } } for (i = 0; i < n; i = i + 1) { cout << a[i] << " "; // сгенерированная матрица } cout << "\n"; for (i = p1; i > 0; i--)// p1 - значение с клавиатуры { for (j = p1; j > 0; j--) { if (a[n-i] > a[n-j]) { int tmp = a[n-i]; a[n-i] = a[n-j]; a[n-j] = tmp; } } } for (i = 0; i < n; i = i + 1) { cout << a[i] << " "; // матрица после сортировки пузырьком } system("Pause"); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д