С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
1

Сортировка массива

12.10.2014, 17:55. Показов 1022. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Отсортировать данный массив и вывести его в новом массиве что не так и почему дебаг происходит???
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
#include <clx.h>
#pragma hdrstop
 
#include <clx.h>
#pragma hdrstop
#include<iostream.h>
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{ float x, *a;
int i,n;
cout«"Vvedite razmer massiva\n";
cin»n;
cout«"Vvedite elementu massiva\n";
a=new float[n];
for( i=0;i<n;i++)
{
cin»a[i];}
 
for(i=n; i>=2; i--)
{
if(a[i]>a[i+1])
{x=a[i];
a[i]=a[i+2];
a[i+1]=x;
}
}
for(i=0;i<n;i++)
cout«x;
 
system("pause") ;
return 0;
}
1
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2014, 17:55
Ответы с готовыми решениями:

Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива
Мне нужно отсортировать фрагмент массива, расположенный между первым и последним отрицательным...

Сортировка массива по сумме цифр элементов массива в порядке возрастания(неубывания)
Мне нужно написать программу, которая будет сортировать заданный массив по сумме цифр его элементов...

Сортировка массива: перенести положительные числа в начало, а отрицательные - в конец массива
Дан вещественный массив A(N). Отсортировать его таким образом, чтобы все положительные числа...

Сортировка массива, вывести значения массива после каждого прохода цикла
Всем привет. Помогите, пожалуйста. Нужно отсортировать массив и вывести значения массива после...

5
93 / 85 / 40
Регистрация: 06.02.2014
Сообщений: 122
12.10.2014, 18:03 2
19 строка - при первом проходе цикла i=n
21 строка - при первом проходе цикла обращение к элементу под номером n
В массиве из n элементов нет элемента с номером n.
1
73 / 59 / 41
Регистрация: 25.06.2014
Сообщений: 360
12.10.2014, 18:04 3
так компилируется
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
#include <iostream>
using namespace std;
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
    float x, *a;
    int i, n;
    cout<<"Vvedite razmer massiva\n";
    cin>>n;
    cout<<"Vvedite elementu massiva\n";
    a = new float[n];
    for (i = 0; i<n; i++)
    {
        cin>>a[i];
    }
 
    for (i = n; i >= 2; i--)
    {
        if (a[i]>a[i + 1])
        {
            x = a[i];
            a[i] = a[i + 2];
            a[i + 1] = x;
        }
    }
    for (i = 0; i<n; i++)
        cout<<x;
 
    system("pause");
    return 0;
}
1
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
12.10.2014, 18:15  [ТС] 4
Eldies, по примеру делал СОРТИРОВКА МЕТОДОМ ПРОСТОГО ВЫБОРА
Пример
Опишем процедуру сортировки на языке проектирования программ (псевдокоде).
for(i=n; i>=2; i--)
{
найти максимальный элемент из а[1], ..., a[i];
запомнить его индекс в переменной k;
если i<>k поменять местами a[i] и a[k];
}

Добавлено через 8 минут
Nevermind_qqq, ничего не изменилось
1
Модератор
Эксперт С++
13710 / 10910 / 6476
Регистрация: 18.12.2011
Сообщений: 29,133
12.10.2014, 18:18 5
Цитата Сообщение от Nevermind_qqq Посмотреть сообщение
for (i = n; i >= 2; i--) { if (a[i]>
при i=n
a[i] не существует!!!!!
и a[i+1] (if (a[i]>a[i + 1])) тоже!
а a[i+2] - это ошибка. должно быть a[i+1]
1
73 / 59 / 41
Регистрация: 25.06.2014
Сообщений: 360
12.10.2014, 18:47 6
Лучший ответ Сообщение было отмечено Dgaizer как решение

Решение

так?
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
#include <iostream>
using namespace std;
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
    float x, *a,*b;
    int i, n;
    cout << "Vvedite razmer massiva\n";
    cin >> n;
    cout << "Vvedite elementu massiva\n";
    a = new float[n];
    b = new float[n];
    for (i = 0; i<n; i++)
    {
        cin >> a[i];
    }
    //сортирвока пузырьком
    for (int i = 0; i < n - 1; ++i) 
    {
        for (int j = 0; j < n - 1; ++j) 
        {
            if (a[j + 1] < a[j])
            {
                float t;
                t = a[j + 1];
                a[j + 1] = a[j];
                a[j] = t;
            }
        }
    }
    //копирование в другой массив
    for (int i = 0; i < n; i++)
    {
        b[i] = a[i];
    }
    for (i = 0; i<n; i++)
        cout << b[i]<<endl;
 
    system("pause");
    return 0;
}
1
12.10.2014, 18:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2014, 18:47
Помогаю со студенческими работами здесь

Сортировка массива структур через сортировку массива указателей
Ошибка возникает в функции void sort(student **ppStud, int k, char ch). Кто видит ошибку -...

Сортировка массива. Ошибка после ввода размерности массива
подскажите почему после ввода размерности массива выдает ошибку #include&lt;iostream&gt;...

Сортировка массива, вместо массива выводит мусор
Здравствуйте Уважаемые жители форума! Есть рабочий код сортируем массив выбором поиск...

Указатели массива и сортировка массива
Доброго времени суток, вот бьюсь над проблемой, нужна программа которая б сортировку динамического...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru