Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
oleh007
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 34
#1

Отсортировать массив А (10) по возрастанию не считая первый и последний элементы - C++

15.07.2014, 18:53. Просмотров 221. Ответов 6
Метки нет (Все метки)

Всем привет,здесь на форуме мне написали просто идеальной код,он работает,но немного его нужно отредактировать
Задание:
Отсортировать массив А (10) по возрастанию не считая первый и последний элементы массива.
Код:
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <stdio.h>
#include <stdlib.h>
 
size_t n = 0;
long *arr = NULL;
 
void Read()
{
    size_t i;
    printf("Array size: ");
    scanf("%u", &n);
    
    arr = (long*)calloc(n, sizeof(long));
 
    printf("Array: ");
    for (i = 0; i < n; i++) {
        scanf("%d", &(arr[i]));
    }
}
 
void Do()
{
    // сортировка
    size_t i = 1; // счётчик
 
    while (i < n/*если мы не в конце*/) {
        if (i == 0) {
            i = 1;
        }
        if (arr[i-1] <= arr[i]) {
            ++i; // идём вперед
        } else {
            // меняем местами
            long tmp = arr[i];
            arr[i] = arr[i-1];
            arr[i-1] = tmp;
            // идём назад
            --i;
        }
    }
}
 
void Write()
{
    size_t i;
 
    printf("Result: ");
    for (i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}
 
void main()
{
    Read();
    Do();
    Write();
}
Вот результат скрин
Мне нужно что бы первый и последний не удалялись,а оставались в результате.То есть в результате что на скрине 7 должно било остаться на первом месте,а 0 остаться на последнем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2014, 18:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отсортировать массив А (10) по возрастанию не считая первый и последний элементы (C++):

Отсортировать массив А (10) по возрастанию не считая первый и последний элементы массива - C++
Задание простое Отсортировать массив А (10) по возрастанию не считая первый и последний элементы массива. Заранее спасибо.

Отсортировать массив по возрастанию, не переставляя элементы - C++
Имеется массив А из n чисел. Вам нужно всего лишь отсортировать его(строго по возрастанию). Правда, вы не можете менять местами элементы,...

Дан массив С[0:n-1]. Обнулить его первый минимальный и последний максимальный элементы - C++
Помогите пожалуйста, нужен полный текст программы

Дан массив E[0:n-1].Поменять местами его первый чётный и последний нечётный элементы - C++
Помогите пожалуйста.Нужен полный текст программы, заранее благодарен

Ввести символьный массив из 10-ти или меньшего количества элементов и поменять местами первый и последний элементы - C++
Ввести символьный массив из 10-ти или меньшего количества элементов и поменять местами первый и последний элементы.

Переписать все элементы з матрицы С в одномерный массив F, отсортировать его по возрастанию - C++
В мастрици С количество столбик в каждой строке случайным натуральным числом с интервала (a; b) но общее количество элементов ...

6
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
15.07.2014, 18:54 #2
Тебе написали идеальный код. Какого фига ты не можешь совсем чуть его поправить? Совсем ничего делать не хочешь?
0
oleh007
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 34
15.07.2014, 19:03  [ТС] #3
Vourhey, почему не хочу?Я просто не могу.Я полный ноль в программировании(
0
zss
Модератор
Эксперт С++
6531 / 6093 / 2007
Регистрация: 18.12.2011
Сообщений: 15,845
Завершенные тесты: 1
15.07.2014, 19:05 #4
C++
1
2
3
 size_t i = 2; // счётчик
 
    while (i < n-1/*если мы не в конце*/) {
И все!
0
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
15.07.2014, 19:09 #5
[OFF]
Цитата Сообщение от oleh007 Посмотреть сообщение
Я просто не могу.
А, блин, постараться, подумать, попробовать, вместо того, чтобы сразу на форум бежать? С бабой спать будешь, позови, форумчане вместо тебя ее удовлетворят.[OFF]
0
oleh007
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 34
15.07.2014, 19:25  [ТС] #6
zss, что то не так вышло скрин
0
zss
Модератор
Эксперт С++
6531 / 6093 / 2007
Регистрация: 18.12.2011
Сообщений: 15,845
Завершенные тесты: 1
15.07.2014, 21:11 #7
Цитата Сообщение от oleh007 Посмотреть сообщение
что то не так вышло
Значит, код, который Вы привели в 1 посте не соответствует тому, который компилируете!
0
15.07.2014, 21:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2014, 21:11
Привет! Вот еще темы с ответами:

Задан массив из 100 элементов целого типа. Отсортировать элементы массива по возрастанию - C++
Задан массив из 100 элементов целого типа. Отсортировать элементы массива по возрастанию.

Дано одномерный массив. Найти первый и последний нули в массиве. Элементы, размещенные между найденными нулями увеличить на 1. - C++
Написать библиотеку функций (шаблонов функций) для работы с одномерным массивом. В библиотеку включен функции заполнения массива, вывод...

Отсортировать массив по убыванию, затем добавить недостающий элемент и отсортировать массив по возрастанию - C++
2) В массиве a ...a встречаются по одному разу все целые числа от 0 до n, кроме одного. За n действий найти пропущенное число с конечной...

Используя функции сформировать одномерный массив и отсортировать по возрастанию только те элементы массива, которые являются простыми числами - C++
Помогите закончить две задачи. 1. Используя функции сформировать одномерный массив и отсортировать по возрастанию только те элементы...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru