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

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

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

Массив вещественных чисел сортированная по возрастанию - C++

22.04.2012, 23:55. Просмотров 667. Ответов 4
Метки нет (Все метки)

Нужно Создать программу, сортирующую массив вещественных чисел по возрастанию. Число элементов массива вводится пользователем перед вводом значений элементов массива (использовать функции динамического выделения памяти). Для работы с элементами массива использовать указатели (адресную арифметику).
Вот мой код:
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
int main()
{
float buffer,a;
int n,i;
printf("Vvedite koli4estvo elementov massiva n=:");
scanf("%d",&n);
float *y=(float*)malloc(n*sizeof(float));
if(!y)
    {
        printf("ERROR!\n");
        exit(1);
    }
printf("Vvedite massiv:");
for (i=0;i<n;i++)
{
    scanf("%f",&a);
    y[i]=a;
}
for(i=0;i<n;i++)
printf("\t %f", y[i]);
for(i=0;i<n;i++)
{
if (y[i]>y[i+1])
    {
        buffer=y[i];
        y[i]=y[i+1];
        y[i+1]=buffer;
    }
}
for(i=0;i<n;i++)
printf("\n %.f", y[i]);
free(y);
getch();
return 0;
}
Вот такую ошибку он выводит http://rghost.ru/37719574.view
сильно не пинайте я краб еще)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2012, 23:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив вещественных чисел сортированная по возрастанию (C++):

Одномерный массив (Ввести массив из 10 вещественных чисел.Найти сумму чисел,стоящих на чётных местах) - C++
Ввести массив из 10 вещественных чисел.Найти сумму чисел,стоящих на чётных местах. Обьясните что делать?

Описать процедуру, выполняющую сортировку по возрастанию массива А из Н вещественных чисел - C++
Вот код: #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;iomanip&gt; using namespace std; ...

Преобразовать одномерный массив вещественных случайных чисел в массив целых чисел - C++
Преобразовать одномерный массив вещественных случайных чисел в массив целых чисел больших исходных на два порядка. Напечатать массивы в два...

Дана последовательность вещественных чисел а1, а2, …., а15 упорядоченная по возрастанию, и число n, не равное - C++
Дана последовательность вещественных чисел а1, а2, …., а15 упорядоченная по возрастанию, и число n, не равное ни одному из чисел...

В матрице вещественных чисел найти и вывести номера столбцов, упорядоченных по возрастанию - C++
14.В матрице вещественных чисел найти и вывести номера столбцов, упорядоченных по возрастанию

Переделать массив целых чисел на массив вещественных чисел - C++
помогите переделать этот код: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #define RANGE 20 int main() { int ARRAY_SIZE=100; ...

4
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
22.04.2012, 23:59 #2
Цитата Сообщение от Tamada Посмотреть сообщение
for(i=0;i<n;i++) { if (y[i]>y[i+1])
вы здесь уходите за предел массивива. поставте в условии цикла n-1.

если вы сортируете методом пузырька, то там вроде надо два цикла использовать.
Алгоритмы сортировок
0
Tamada
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 13
22.04.2012, 23:59  [ТС] #3
оп оп, все сделал ребят не нужна помощь, закройте тему
0
Кари
02.05.2012, 21:22 #4
не подскажешь как сделал?
не получается блин.
Tamada
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 13
03.05.2012, 00:23  [ТС] #5
Цитата Сообщение от Кари Посмотреть сообщение
не подскажешь как сделал?
не получается блин.
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 <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
int main()
{
float buffer,a;
int n,i,j;
printf("Vvedite koli4estvo elementov massiva n=:");
scanf("%d",&n);
float *y=(float*)malloc(n*sizeof(float));
if(!y)
    {
        printf("ERROR!\n");
        exit(1);
    }
printf("Vvedite massiv:");
for (i=0;i<n;i++)
    {
        scanf("%f",&a);
        *(y+i)=a;
    }
for(i=0;i<n;i++)
    {
        for (j=i+1;j<=n-1;j++) 
            {
                if (y[i]>y[j])
                    {
                        buffer=*(y+i);
                        *(y+i)=y[j];
                        y[j]=buffer;
                    }
            }
    }
printf("Vo vozrastaniu:\n");
for(i=0;i<n;i++)
printf(" %.f)\n",*(y+i));
free(y);
getch();
return 0;
}
0
03.05.2012, 00:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2012, 00:23
Привет! Вот еще темы с ответами:

Задать массив вещественных чисел и вставить в исходный массив число - C++
вот такая программка Задать массив вещественных чисел с помощью датчика случайных чисел. Вставить в исходный массив число. С...

Сформировать список из вещественных чисел. Упорядочить список по возрастанию. - C++
решить через односвязные списки..=( Сформировать список из вещественных чисел. Упорядочить список по возрастанию.

Динамический массив из вещественных чисел - C++
Добрый день! Как заполнить динамический массив вещственными числами, учитывая что пользователь должен вводить их сам или по выбору...

Дан массив из 10 вещественных чисел на c++ - C++
Дан массив из 10 вещественных чисел вывести на экран только положительные числа заданного массива си плюс плюс


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

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

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