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

мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
вольдемур
Сообщений: n/a
27.02.2014, 01:48     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #1
задан одномерный массив B состоящем из n вещественных элементов,определить позиции,в которых находятся отрицательные элементы,сосчитать их количество отрицательных элементов и вычислить их сумму, надо написать в визуал си++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2014, 01:48     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов,
Посмотрите здесь:

C++ Задан одномерный массив, содержащий n элементов, определить сумму всех чётных элементов
одномерный массив, состоящий из 20 вещественных элементов C++
C++ Преобразовать одномерный массив, состоящий из 10 вещественных элементов
Дан одномерный массив, состоящий из N вещественных элементов C++
C++ Задан одномерный массив В,состоящем из n вещественных элементов С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
27.02.2014, 13:15     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #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
#include <iostream>
#include <cmath>
 
int main()
{
    srand(time(0));
    int n, counter = 0;
    double total = 0;
    std::cout << "Enter n: "; std::cin >> n;
    double* B = new double[n];
    for(int i = 0; i < n; i++)
    {
        B[i] = 100 - rand() % 200;
        B[i] = (B[i] < 0) ? -(sqrt(abs((int)B[i]))) : sqrt(B[i]);
        std::cout << B[i] << "\n";
        if(B[i] < 0)
        {
            counter++;
            total += B[i];
        }
    }
    
    (counter > 0) ? std::cout << "\nNegative numbers quantity is " << counter <<
                                 "\nSum of negative numbers: "     << total   << "\n\n"
                  : std::cout << "\nNo such elements\n\n";
    
    system("pause");
    return 0;
}
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,048
27.02.2014, 13:25     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #3
Цитата Сообщение от GuGo1991 Посмотреть сообщение
B[i] = (B[i] < 0) ? -(sqrt(abs((int)B[i]))) : sqrt(B[i]);
а это зачем?
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
27.02.2014, 21:43     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #4
ValeryS, имитация вещественных чисел
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
27.02.2014, 23:57     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #5
А так не проще
C++
1
B[i] = 1.2341 * (rand() % 20-10);
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
28.02.2014, 00:55     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #6
Genn55, так будут только с плавающей запятой
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
28.02.2014, 01:56     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #7
Ну да такие и нужны вещественные числа больше и меньше 0.Правильно?
Миниатюры
мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов,  
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
28.02.2014, 02:08     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #8
Genn55, да, но в вещественные числа входят и такие числа как 5.0, -7.0 и т. д.
Не хочется их исключать )
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,048
28.02.2014, 07:24     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #9
Цитата Сообщение от GuGo1991 Посмотреть сообщение
имитация вещественных чисел
интересное решение
но в данном контексте, я думаю, достаточно было переменных типа float/double
да и не лишен недостатков
генерирует числа в диапазоне от минус корень N до плюс корень N
расчет корня дорого стоит

проще так, опять же по моему
C++
1
n=N-((double)rand()/RAND_MAX)*2*N;
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
28.02.2014, 16:33     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #10
ValeryS, не спорю что проще и как Genn55 предлагал тоже проще (правда в этом
случае все числа кратны 1.2341), но суть была в том чтобы почаще попадать в числа с плавающей запятой,
без значений после запятой (5.0, -7.0 и т. д.) В вашем варианте это произойдёт, но крайне редко.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,048
28.02.2014, 17:02     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #11
Цитата Сообщение от GuGo1991 Посмотреть сообщение
В вашем варианте это произойдёт, но крайне редко.
так и в вашем тоже
все дело в округлении
число 7 может быть не 7.0 а 7.000000003 какое нибудь
число будет без этого мусора если дробь кратна 1/2n 0.5 0.25 и т.д
все числа в дубле и во флоате это дробь меньше 1 и степень
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
28.02.2014, 18:18     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #12
ValeryS, да, но в моем случае, к слову, если сгенерировалось число B[i] = -100
C++
1
2
B[i] = 100 - rand() % 200; //Сгенерировалось -100
B[i] = -(sqrt(abs((int)B[i]))); //после этой операции B[i] будет равен -10, с дробной частью .0
Такова была задумка, поправьте меня если я не прав в исполнении
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
28.02.2014, 22:50     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #13
Попробуйте так.Будут появляться и целые
C++
1
B[i]= - 5.00 + ((rand() % 1001) / 10.0);
Добавлено через 2 минуты
По моему мнению все же лучше,чем 100 и более раз вычислять квадратный корень.
ALEXey__
7 / 7 / 2
Регистрация: 10.02.2014
Сообщений: 70
28.02.2014, 23:27     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #14
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
#include <iostream>
 using namespace std;
int main()
{
    int n,z=0;
    float arr[50],mas[50],s=0.0;
    cout<<"Размер массива: "; cin>>n;
    for (int i=0; i<n; i++)
    {
        cout<<'['<<i+1<<"]: "; cin>>arr[i];
    }
    cout<<"Номера отрицательных элементов: ";
    for (int i=0; i<n; i++)
        {
        if (arr[i]<0){z++;
        mas[i]=i;
        s+=arr[i];
        cout<<mas[i]<<"  ";
        }
 
        }
    cout<<endl;
    cout<<"Кол-во отрицательных элементов: "<<z<<endl;
    cout<<"Сумма отрицательных элементов: "<<s<<endl;
    return 0;
}
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,048
28.02.2014, 23:48     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #15
Цитата Сообщение от ALEXey__ Посмотреть сообщение
float arr[50],mas[50],s=0.0;
* * cout<<"Размер массива: "; cin>>n;
а если я введу 60???
Цитата Сообщение от ALEXey__ Посмотреть сообщение
mas[i]=i;
* * * * s+=arr[i];
* * * * cout<<mas[i]
а зачем целый массив mas[i]???
ALEXey__
7 / 7 / 2
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 00:27     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #16
Цитата Сообщение от ValeryS Посмотреть сообщение
а если я введу 60???
Ты будешь вводить 60 элементов, с клавиатуры?! Обычно в лабах хватает 5-20 элементов.
Ну если сильно хочется:
C++
1
float arr[100500]
Цитата Сообщение от ValeryS Посмотреть сообщение
а зачем целый массив mas[i]???
Согласен, тупанул.
Цитата Сообщение от ALEXey__ Посмотреть сообщение
for (int i=0; i<n; i++)
* * * * {
* * * * if (arr[i]<0){z++;
* * * * s+=arr[i];
* * * * cout<<i<<" *";
* * * * }
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,048
01.03.2014, 00:29     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #17
Цитата Сообщение от ALEXey__ Посмотреть сообщение
Ты будешь вводить 60 элементов, с клавиатуры?!
а если буду?
где "защита от дурака"?
ALEXey__
7 / 7 / 2
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 00:42     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #18
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
#include <iostream>
 using namespace std;
int main()
{
    int n,z=0;
    float arr[999999],s=0.0;
    cout<<"Размер массива: "; cin>>n;
    if (n>=999999){cout<<"Защита от дураков: слишком большой массив!";}
    else
    {for (int i=0; i<n; i++)
    {
        cout<<'['<<i+1<<"]: "; cin>>arr[i];
    }
    cout<<"Номера отрицательных элементов: ";
    for (int i=0; i<n; i++)
        {
        if (arr[i]<0){z++;
        s+=arr[i];
        cout<<i<<"  ";
        }
 
        }
    cout<<endl;
    cout<<"Кол-во отрицательных элементов: "<<z<<endl;
    cout<<"Сумма отрицательных элементов: "<<s<<endl;
    return 0;}
}
Так нормально?)
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
01.03.2014, 01:17     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #19
Это что такое?
C++
1
cout<<'['<<i+1<<"]: ";
Добавлено через 4 минуты
и зачем else в 9 строчке?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2014, 01:21     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов,
Еще ссылки по теме:

В одномерном массиве, состоящем из n вещественных элементов, вычислить: • сумму положительных элементов массив C++
C++ Одномерный массив, состоящий из N вещественных элементов
Задан двумерный массив вещественных чисел размерностью (M+1)x(N+1). В строку m+1 записать суммы элементов по с C++

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

Или воспользуйтесь поиском по форуму:
ALEXey__
7 / 7 / 2
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 01:21     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, #20
Цитата Сообщение от Genn55 Посмотреть сообщение
Это что такое?
Код C++
1
cout<<'['<<i+1<<"]: ";
Массив начинается с 0-го элемента. Показывает номер вводимого элемента. "i+1" - просто для удобства чтения, чтобы счет шел не с 0, а с 1;
Цитата Сообщение от Genn55 Посмотреть сообщение
и зачем else в 9 строчке?
Привычка.
Yandex
Объявления
01.03.2014, 01:21     мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов,
Ответ Создать тему
Опции темы

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