Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
вольдемур

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

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

Студворк — интернет-сервис помощи студентам
задан одномерный массив B состоящем из n вещественных элементов,определить позиции,в которых находятся отрицательные элементы,сосчитать их количество отрицательных элементов и вычислить их сумму, надо написать в визуал си++
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2014, 01:48
Ответы с готовыми решениями:

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

Одномерный массив в Java. Выручите пожалуйста
Создать одномерный массив Добавить метод getSum(), возвращающий сумму значений элементов массива. Добавить метод getLastEquals(int...

Задан одномерный массив из N вещественных чисел
Вычислить среднее арифметическое квадратов всех элементов, не превосходящих по модулю число 3,6. Задача примитивная, но я не имею даже...

34
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 790
01.03.2014, 01:38
Студворк — интернет-сервис помощи студентам
да и
C++
1
arr[999999]
великовато, будет вылетать программа ,хватило бы и 100 для вашего случая.

Добавлено через 11 минут
Запустил вашу программу,как я и предполагал у меня вылетела.Уменьшил размер до 1000 все нормально.А else здесь не нужно,условие будет выполняться.
0
9 / 9 / 8
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 01:43
Genn55, Магия?)

Да, согласен, else не нужно.
0
9 / 9 / 8
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 02:02
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 790
01.03.2014, 02:26
А ни какой магии нет.Программы пишутся не под конкретный IDE,а под стандарт.Так что у вас будет работать,а у меня и у других нет.Ну и посудите сами.Вы просите кампиллятор выделить сразу 999999 подряд идущих блоков ячеек памяти,а использовать будете в лучшем случае 20.Ну и где здравый смысл?Если уж собираетесь задавать свой размер,то используйте динамический массив.И второе какая гарантия,что вы сумеете ввести все 999999 чисел и программа сработает верно?Скорее всего уже после половины этого размера начнутся ошибки.Попробуйте ради интереса хотя бы,указав 100 прогнать несколько раз.
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 790
01.03.2014, 02:29
Скрин
Миниатюры
мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов,   мужики!выручите пожалуйста! задан одномерный массив B состоящем из n вещественных элементов,  
0
9 / 9 / 8
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 02:47
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
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 790
01.03.2014, 03:14
Цитата Сообщение от ALEXey__ Посмотреть сообщение

Так нормально?)
Зачем было спрашивать?А в прочем,поступайте как знаете.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
01.03.2014, 07:07
Цитата Сообщение от ALEXey__ Посмотреть сообщение
Так нормально?)
ага
особенно вот это
Цитата Сообщение от ALEXey__ Посмотреть сообщение
float arr[999999],
4 мегабайта на стеке выделить
че уж сразу не гигабайт?
сам то запускал?

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

Добавлено через 6 минут
Цитата Сообщение от ALEXey__ Посмотреть сообщение
Genn55, Магия?)
хоть примерено представляешь как работает компьютер?
и как компилятор?
формат исполняемого файла?
что такое стек и что такое куча?
0
9 / 9 / 8
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 15:17
ValeryS,
Цитата Сообщение от ValeryS Посмотреть сообщение
вместо простейшей проверки типа такой
Ты же все хотел ввести 60? А вдруг тебе захочется 100, 500, 1000, 10К чисел ввести? Поэтому так.
А по-поводу "магии" повторюсь:
Цитата Сообщение от ALEXey__ Посмотреть сообщение
я скинул то, что компилируется и правильно работает у меня.
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 790
01.03.2014, 18:20
Цитата Сообщение от 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
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
01.03.2014, 18:21
ValeryS, Genn55, впрочем подумал, раз уж вы советуете не использовать корень,
раньше использовал другую операцию для нахождения действительных чисел. Что-то типа:
C++
1
B[i] = (double)(100 - rand() % 200) / (rand() % 10 + 1); //в зависимости от интервала значений
0
9 / 9 / 8
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 18:55
GuGo1991,
Цитата Сообщение от Genn55 Посмотреть сообщение
const int n = 50;
float array[n] = {0};
Если так, то программа будет требовать ввода 50-ти элементов, я прав?
А как сделать, чтобы программа требовала то кол-во цифр, которое нужно сейчас(не используя при этом динамический массив)? Ну например: сейчас я хочу ввести 6 цифр, а через 5 минут захочу ввести 15 цифр.
Цитата Сообщение от Genn55 Посмотреть сообщение
cout<<i + 1 <<" *";
Используется для удобства ввода данных с клавиатуры. Т.е. не:
[0]:
[1]:
и т.д.
а
[1]:
[2]:
[3]:
и т.д.
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 790
01.03.2014, 19:24
Цитата Сообщение от ALEXey__ Посмотреть сообщение
А как сделать, чтобы программа требовала то кол-во цифр, которое нужно сейчас(не используя при этом динамический массив)? Ну например: сейчас я хочу ввести 6 цифр, а через 5 минут захочу ввести 15 цифр.
Для своих экспериментов можно вводить не большие размеры как вы и делали,но в программе это ошибка.Вы же сами выбрали статический массив.Ну и работайте со статическим.А если вам необходимо менять размер в программе выбирайте динамический массив.
C++
1
2
3
4
5
int n, z = 0;
    float s=0.0;
    cout<<"Введите размер массива: ";
    cin >>n;
    float* arr = new  float[n];
0
9 / 9 / 8
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 19:30
Genn55, все понятно, спасибо.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
01.03.2014, 23:37
Цитата Сообщение от ALEXey__ Посмотреть сообщение
Ты же все хотел ввести 60? А вдруг тебе захочется 100, 500, 1000, 10К чисел ввести?
ну и
вот этот цикл не позволяет ввести больше 50
C++
1
2
3
4
do{
 cout<<"введите размер массива, не больше 50: ";
 cin>>n;
 }while (n>50);
можешь вводить хоть 10 миллионов, цикл не даст ввести больше 50
в результате не будет выхода за пределы массива, не будет падения программы если введут большое число
"атака через переполнения стека" слышал про такое
это когда вводят значения много больше чем позволяет прога
и когда она рухает, изучают дамп почему она рухнула и где
потом вводят специальные данные и программа делает то что нужно злоумышленнику
и такой простой цикл защищает программу от такого рода атак
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.03.2014, 23:37

Задан одномерный массив вещественных чисел длины N
Задан одномерный массив вещественных чисел длины N. Все числа различны. Найти минимальный, максимальный элемент и среднее значение...

В одномерном массиве, состоящем из n вещественных элементов, вычислить: сумму отрицательных элементов массив
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) сумму отрицательных элементов массива; 2) произведение...

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

Сформировать массив из минимальных элементов матрицы. Пожалуйста, выручите!
Задача: определить минимальный элемент каждого столбца матрицы и сформировать из них новый массив, который выдать на экран. Матрицу...

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


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

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru