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

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

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

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

26.01.2013, 17:11. Просмотров 463. Ответов 5
Метки нет (Все метки)

Доброго времени Суток!
Задание в борланде -
Преобразовать одномерный массив, состоящий из 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 вещественных элементов
Посмотрите здесь:

C++ Дан одномерный массив А, состоящий из N элементов.
Дан одномерный массив, состоящий из N вещественных элементов. C++
C++ Дан одномерный массив, состоящий из N вещественных элементов.
C++ Дан одномерный массив состоящий из N целочисленных элементов. Вычислить сумму положительных элементов массива кратных 3
C++ Дан одномерный массив, состоящий из N вещественных элементов
одномерный массив, состоящий из 20 вещественных элементов C++
C++ Дан одномерный массив А, состоящий из N элементов
C++ Дано одномерный массив Х, состоящий из 15 элементов. Определить пивсуму наибольшего и наименьшего элементов массива
Дан целочисленный одномерный массив А, состоящий из 14 элементов. вычислить и напечатать сумму парши элементов C++
Напишите программу на языке С++, в которой ппользователем задается одномерный массив, состоящий из 10 вещественных чисел C++
Дан одномерный массив, состоящий из N вещественных элементов C++
C++ Одномерный массив, состоящий из N вещественных элементов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 11
26.01.2013, 19:53     Преобразовать одномерный массив, состоящий из 10 вещественных элементов #4
Serjj, Да, я и правда не учёл особенностей компилятора.
Тем не менее, думаю, мой код можно модифицировать под Борланд.
Возможно (скорее всего), мой алгоритм не самый рациональный,но идею тебе дать должен был.
Croessmah
Модератор
Эксперт CЭксперт С++
12887 / 7273 / 810
Регистрация: 27.09.2012
Сообщений: 17,972
Записей в блоге: 2
Завершенные тесты: 1
26.01.2013, 21:08     Преобразовать одномерный массив, состоящий из 10 вещественных элементов #5
Цитата Сообщение от Serjj Посмотреть сообщение
слово rand , говорит call to undefined function ,
подключите <cstdlib>
ya_noob
_
201 / 145 / 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 вещественных элементов
Ответ Создать тему
Опции темы

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