Преобразовать Одномерный Массив, Состоящий Из 10 Вечественных Элементо

Тема в разделе "C/C++/C#", создана пользователем serjj, 26 янв 2013.

  1. serjj

    serjj New Member

    Регистрация:
    26 янв 2013
    Сообщения:
    4
    Симпатии:
    0
    Доброго времени Суток!
    Задание в борланде -
    Преобразовать одномерный массив, состоящий из 10(любых) вещественных элементов, таким образом, чтобы сначала располагались все положительные элементы, а потом - все отрицательные ( элементы, равные 0, считать положительными).

    Вот нашел исходный код , похожий немного к моему заданию он ниже. но не могу разобраться как его форматнуть для своего задания.
    Очень прошу мне помочь решить данную задачу.
    Вышлю Подарок)

    #include <stdio.h>
    #include <conio.h>
    int main()
    {
    clrscr();
    int i;
    float x[10], max, min;
    /*Ввод элементов массива*/
    for (i=0;i<10;i++)
    {
    printf("x[%d]=",i+1);
    scanf( "%f",&x);
    }
    /*Поиск максимального элемента и его номера*/
    max=x[0];
    min=x[0];
    for(i=1;i<10;i++)
    {
    if (x>max) max = x;
    if (x<min)>;
    }
    /*замена частным первого элемента массива*/
    x[0] = max+min;
    /*Вывод элементов массива*/
    printf("\nmax=%f ",max);
    printf("\nmin=%f \n",min);
    for(i=0;i<10;i++)
    printf("\nx[%d]=%f ",i+1,x);
    getch();
    return 0;
    }
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    Код (Text):
    float tmp;
    for (int i = 0; i < n; ++i) {
    if (a[i] >= 0)
    continue;
    for (int j = i; j < n; ++j) {
    if (a[j] > 0) {
    tmp = a[i];
    a[i] = a[j];
    a[j] = tmp;
    }
    }
    }
    не проверял, могут быть опечатки
     
Загрузка...

Поделиться этой страницей