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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
вольдемур
Сообщений: n/a
#1

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

27.02.2014, 01:48. Просмотров 1169. Ответов 34
Метки нет (Все метки)

задан одномерный массив B состоящем из n вещественных элементов,определить позиции,в которых находятся отрицательные элементы,сосчитать их количество отрицательных элементов и вычислить их сумму, надо написать в визуал си++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2014, 01:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов, (C++):

Задан одномерный массив В,состоящем из n вещественных элементов С++ - C++
Помогите пожалуйста решить задачку)совсем не силен в с++( Задан одномерный массив В,состоящем из n вещественных элементов.Найти...

В одномерном массиве, состоящем из n вещественных элементов, вычислить: • сумму положительных элементов массив - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: • сумму положительных элементов массива; • произведение...

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

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

одномерный массив, состоящий из 20 вещественных элементов - C++
В одномерном массиве, состоящем из 20 вещественных элементов, вычислить: 1) сумму элементов массива с нечетными номерами; 2) сумму...

Одномерный массив, состоящий из N вещественных элементов - C++
В одномерном массиве из N вещественных элементов, вычислить: • количество элементов массива, равных 0; • сумму элементов массива,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ALEXey__
7 / 7 / 2
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 00:27 #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<<" *";
* * * * }
0
ValeryS
Модератор
6631 / 5039 / 466
Регистрация: 14.02.2011
Сообщений: 16,844
01.03.2014, 00:29 #17
Цитата Сообщение от ALEXey__ Посмотреть сообщение
Ты будешь вводить 60 элементов, с клавиатуры?!
а если буду?
где "защита от дурака"?
0
ALEXey__
7 / 7 / 2
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 00:42 #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;}
}
Так нормально?)
0
Genn55
367 / 214 / 41
Регистрация: 26.12.2012
Сообщений: 708
01.03.2014, 01:17 #19
Это что такое?
C++
1
cout<<'['<<i+1<<"]: ";
Добавлено через 4 минуты
и зачем else в 9 строчке?
0
ALEXey__
7 / 7 / 2
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 01:21 #20
Цитата Сообщение от Genn55 Посмотреть сообщение
Это что такое?
Код C++
1
cout<<'['<<i+1<<"]: ";
Массив начинается с 0-го элемента. Показывает номер вводимого элемента. "i+1" - просто для удобства чтения, чтобы счет шел не с 0, а с 1;
Цитата Сообщение от Genn55 Посмотреть сообщение
и зачем else в 9 строчке?
Привычка.
0
Genn55
367 / 214 / 41
Регистрация: 26.12.2012
Сообщений: 708
01.03.2014, 01:38 #21
да и
C++
1
arr[999999]
великовато, будет вылетать программа ,хватило бы и 100 для вашего случая.

Добавлено через 11 минут
Запустил вашу программу,как я и предполагал у меня вылетела.Уменьшил размер до 1000 все нормально.А else здесь не нужно,условие будет выполняться.
0
ALEXey__
7 / 7 / 2
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 01:43 #22
Genn55, Магия?)
http://********************/show-imag...bbad0ff79aa9be
Да, согласен, else не нужно.
0
ALEXey__
7 / 7 / 2
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 02:02 #23
мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов,
0
Genn55
367 / 214 / 41
Регистрация: 26.12.2012
Сообщений: 708
01.03.2014, 02:26 #24
А ни какой магии нет.Программы пишутся не под конкретный IDE,а под стандарт.Так что у вас будет работать,а у меня и у других нет.Ну и посудите сами.Вы просите кампиллятор выделить сразу 999999 подряд идущих блоков ячеек памяти,а использовать будете в лучшем случае 20.Ну и где здравый смысл?Если уж собираетесь задавать свой размер,то используйте динамический массив.И второе какая гарантия,что вы сумеете ввести все 999999 чисел и программа сработает верно?Скорее всего уже после половины этого размера начнутся ошибки.Попробуйте ради интереса хотя бы,указав 100 прогнать несколько раз.
0
Genn55
367 / 214 / 41
Регистрация: 26.12.2012
Сообщений: 708
01.03.2014, 02:29 #25
Скрин
0
Миниатюры
мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов,   мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов,  
ALEXey__
7 / 7 / 2
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 02:47 #26
Genn55, я скинул то, что компилируется и правильно работает у меня.
Изначально программа выглядела вот так:
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;
}
Да, она не идеальна, и даже не близка к идеалу, но она работает. И если автору темы нужно, чтобы она работала по-другому, он ее изменит по своему желанию.
0
Genn55
367 / 214 / 41
Регистрация: 26.12.2012
Сообщений: 708
01.03.2014, 03:14 #27
Цитата Сообщение от ALEXey__ Посмотреть сообщение

Так нормально?)
Зачем было спрашивать?А в прочем,поступайте как знаете.
0
ValeryS
Модератор
6631 / 5039 / 466
Регистрация: 14.02.2011
Сообщений: 16,844
01.03.2014, 07:07 #28
Цитата Сообщение от ALEXey__ Посмотреть сообщение
Так нормально?)
ага
особенно вот это
Цитата Сообщение от ALEXey__ Посмотреть сообщение
float arr[999999],
4 мегабайта на стеке выделить
че уж сразу не гигабайт?
сам то запускал?

вместо простейшей проверки типа такой
C++
1
2
3
4
do{
 cout<<"введите размер массива, не больше 50: ";
 cin>>n;
 }while (n>50);
начинаешь ерунду писать
и чем тебе динамическое выделение как у GuGo1991, не угодило ???

Добавлено через 6 минут
Цитата Сообщение от ALEXey__ Посмотреть сообщение
Genn55, Магия?)
хоть примерено представляешь как работает компьютер?
и как компилятор?
формат исполняемого файла?
что такое стек и что такое куча?
0
ALEXey__
7 / 7 / 2
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 15:17 #29
ValeryS,
Цитата Сообщение от ValeryS Посмотреть сообщение
вместо простейшей проверки типа такой
Ты же все хотел ввести 60? А вдруг тебе захочется 100, 500, 1000, 10К чисел ввести? Поэтому так.
А по-поводу "магии" повторюсь:
Цитата Сообщение от ALEXey__ Посмотреть сообщение
я скинул то, что компилируется и правильно работает у меня.
0
Genn55
367 / 214 / 41
Регистрация: 26.12.2012
Сообщений: 708
01.03.2014, 18:20 #30
Цитата Сообщение от ALEXey__ Посмотреть сообщение
Да, она не идеальна
да еще и с ошибками.
Учите матчасть
Размер массива часто используется в различных моментах кода программы (например, в циклах прохода по массиву), поэтому удобнее его объявлять не конкретным числом в самом объявлении массива, а отдельно, как константу. Почему как константу? Потому что размер массива не может изменяться во время работы программы, на то он и статический, а не динамический Для того, чтобы компилятор знал о том, что это константа и не выдавал ошибку во время компиляции программы, нужно обязательно объявлять константное значение, в частности размер массива, со спецификатором const.
C++
1
2
const int arraySize = 10;
float array[arraySize] = {0};
Эта строка уже ошибка
C++
1
cout<<"Размер массива: "; cin>>n;
и если бы так было у вас написано
C++
1
2
const int n = 50;
float array[n] = {0};
и вопросов бы не возникло.Исправили бы эту строку
C++
1
cout<<mas[i]<<"  ";
на
C++
1
cout<<i + 1 <<"  ";
К стати она увас не верна
C++
1
cout<<i<<"  ";
показывает индекс,а не номер и все. Компиляция чистая,работает верно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2014, 18:20
Привет! Вот еще темы с ответами:

Дан одномерный массив, состоящий из N вещественных элементов - C++
1. Заполнить массив случайными числами. 2. Найти минимальный элемент. выдает ошибку error C2040: a: &quot;int *&quot; отличается по уровням...

Дан одномерный массив, состоящий из N вещественных элементов. - C++
Помогите пожалуйста написать программу на С++. Дан одномерный массив, состоящий из N вещественных элементов. 1)Заполнить массив...

Преобразовать одномерный массив, состоящий из 10 вещественных элементов - C++
Доброго времени Суток! Задание в борланде - Преобразовать одномерный массив, состоящий из 10(любых) вещественных элементов, таким...

Дан одномерный массив, состоящий из N вещественных элементов - C++
Дан одномерный массив, состоящий из N вещественных элементов. Ввести массив с клавиатуры. Найти максимальный элемент. Вычислить...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.03.2014, 18:20
Ответ Создать тему
Опции темы

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