Форум программистов, компьютерный форум CyberForum.ru

Сортировка одномерного массива - C++

Восстановить пароль Регистрация
 
Meekoland
0 / 0 / 0
Регистрация: 14.10.2016
Сообщений: 6
Завершенные тесты: 1
09.11.2016, 18:27     Сортировка одномерного массива #1
Здравствуйте, помогите пожалуйста с написанием кода.
Дан одномерный массив. Его надо проверить отсортирован ли он по убыванию, если отсортирован по убыванию, то должно писать, что массив "Отсортирован по убыванию". Если не по убыванию, надо сделать ещё одну проверку, в ходе которой выяснится: отсортирован ли он вообще, или он отсортирован по возрастанию.

Всё что я смог написать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
 
using namespace std;
 
int main()
{
    int n; //
    printf("Количество элементов: ");
    scanf("%d", &n); 
    int mass[30];
    for(int i = 0; i < n; i++)
    {
    printf("Введите элемент: ");
    scanf("%d", &mass[i]); 
    } 
    printf("Исходный массив: ");
    for(int i = 0; i < n; i++)
    {
    printf("%d ", mass[i]);
    }
    printf (" \n");
    
    for(int i = 0; i < n; i++)
     {
        for(int r = 0; r < n-2; r++)
        {
         if(mass[r]<mass[r+1]);
         i++;         
        }
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2016, 18:27     Сортировка одномерного массива
Посмотрите здесь:

C++ Сортировка одномерного массива
Сортировка одномерного массива C++
сортировка одномерного массива C++
C++ Сортировка одномерного массива
C++ Сортировка одномерного массива
Сортировка одномерного массива C++
Сортировка одномерного массива C++
Сортировка одномерного массива C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21435 / 10220 / 1666
Регистрация: 12.02.2012
Сообщений: 17,093
09.11.2016, 19:01     Сортировка одномерного массива #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Здесь достаточно одного цикла:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdio.h>
#include <stdlib.h>
 
int is_sorted(int *A, int n)
{
    int i,s=0;
    for (i=1; i<n; i++)
     if (A[i-1] != A[i])
     {
        if (A[i-1] < A[i])
           s++;
        else
           s--;
        if (abs(s) != i) break;
     }      
    printf("%d\n",s); 
    if (s==(n-1)) return 1;
    if (s==(1-n)) return -1;
    return 0;
}                
 
int main(int argc, char *argv[])
{
 
  int X[]={1,0,-1,-2,-4,-5,-6,-7,-12,-34};
  int r;
  
  r=is_sorted(X,10);
  
  if (r > 0) printf("sorted by ascending\n");
  if (r < 0) printf("sorted by descending\n");
  if (r==0)  printf("unsorted\n");   
  
  system("PAUSE");  
  return 0;
}
Yandex
Объявления
09.11.2016, 19:01     Сортировка одномерного массива
Ответ Создать тему
Опции темы

Текущее время: 09:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru