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

Преобразовать одномерный массив, состоящий из 10 вещественных элементов - C++

Восстановить пароль Регистрация
 
Serjj
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 6
26.01.2013, 17:11     Преобразовать одномерный массив, состоящий из 10 вещественных элементов #1
Доброго времени Суток!
Задание в борланде -
Преобразовать одномерный массив, состоящий из 10(любых) вещественных элементов, таким образом, чтобы сначала располагались все положительные элементы, а потом - все отрицательные ( элементы, равные 0, считать положительными).

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

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 <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; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2013, 17:11     Преобразовать одномерный массив, состоящий из 10 вещественных элементов
Посмотрите здесь:

Дан одномерный массив, состоящий из N вещественных элементов. C++
1.Дан одномерный массив, состоящий из N вещественных элементов. C++
C++ Дан одномерный массив, состоящий из N вещественных элементов.
C++ Дан одномерный массив, состоящий из N вещественных элементов
одномерный массив, состоящий из 20 вещественных элементов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amaziinq
 Аватар для Amaziinq
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 11
26.01.2013, 18:04     Преобразовать одномерный массив, состоящий из 10 вещественных элементов #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
37
38
39
40
41
42
43
44
#include <iostream>
 
using namespace std;
 
 
int main()
{
    int n[10];  //Исходный массив
    for (int i = 0; i<10; i++)  //Занесение значений в исходный массив и его отображение
    {
        n[i]=rand()%11 - 5;
        cout<<n[i]<<" ";
    }
    cout<<endl;
 
 
    int a[10]; // Массив, в который нужно занести числа нужным образом
    int c=0;   // Переменная для индексации элементов массива >=0
    int s=100; // Переменная для индексации элементов массива <0
 
    for (int i = 0; i<10; i++) // Занесение в массив элементов >=0
    {
        if (n[i]>=0)
        {
            a[c]=n[i];
            c++;
            s=c;
        }
    }
    for (int i = 0; i<10; i++) // Занесение в массив элементов <0
    {
        if (n[i]<0)
        {
            a[s]=n[i];
            s++;
        }
    }
    for (int i = 0; i < 10; i++)  // Отображение получившегося массива
    {
        cout<<a[i]<<" ";
    }
    cout<<endl;
    return 0;
}
Serjj
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 6
26.01.2013, 19:30  [ТС]     Преобразовать одномерный массив, состоящий из 10 вещественных элементов #3
Amaziinq,

Спасибо за помощ, но в Борланде.. ошибку выдает =/ ругается на строчку n[i]=rand()%11 - 5;
слово rand , говорит call to undefined function ,
плюс ругается на строчку using namespace std;
Cлово namespace - говорит name expected
Amaziinq
 Аватар для Amaziinq
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 11
26.01.2013, 19:53     Преобразовать одномерный массив, состоящий из 10 вещественных элементов #4
Serjj, Да, я и правда не учёл особенностей компилятора.
Тем не менее, думаю, мой код можно модифицировать под Борланд.
Возможно (скорее всего), мой алгоритм не самый рациональный,но идею тебе дать должен был.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
26.01.2013, 21:08     Преобразовать одномерный массив, состоящий из 10 вещественных элементов #5
Цитата Сообщение от Serjj Посмотреть сообщение
слово rand , говорит call to undefined function ,
подключите <cstdlib>
ya_noob
_
200 / 144 / 9
Регистрация: 08.10.2011
Сообщений: 432
26.01.2013, 21:35     Преобразовать одномерный массив, состоящий из 10 вещественных элементов #6
без дополнительного массива:

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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <algorithm>
#include <ctime>
 
using namespace std;
 
void fillArray( double *a, const int N )
{
    for ( int i = 0; i < N; ++i )
    {
        a[ i ] = 1.0 * rand() / RAND_MAX;
        if ( rand() % 2 ) a[ i ] = -a[ i ];
        if ( rand() % 4 == 0 ) a[ i ] = .0;
    }
}
 
void printArray( double *a, const int N )
{
    cout << setprecision( 3 ) << fixed;
    for ( int i = 0; i < N; ++i )
        cout << a[ i ] << ' ';
    cout << endl;
}
 
int main()
{
    srand( time( 0 ) );
 
    const int N = 10;
    double a[ N ];
 
    fillArray( a, N );
    cout << "Before:" << endl;
    printArray( a, N );
    for ( int i = 0, j = N - 1; i < j; )
    {
        while( i < j && a[ i ] >= .0 ) ++i;
        while( j > i && a[ j ] < .0 ) --j;
        swap( a[ i ], a[ j ] );
    }
 
    cout << "\nAfter:" << endl;
    printArray( a, N );
 
    return 0;
}
Yandex
Объявления
26.01.2013, 21:35     Преобразовать одномерный массив, состоящий из 10 вещественных элементов
Ответ Создать тему
Опции темы

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