Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
 Аватар для Maxim09
1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458
1

Одномерные динамические массивы. Хочу разобраться в коде

07.05.2016, 13:00. Показов 1708. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    int n;
    cout<<"Vvedite kol-vo elementov";
    cin>>n;
    int i, ineg;
    float sum, *a=new float[n];
    cout<<"Vvedite elementi massiva"<<endl;
    for(i=0; i<n; i++)cin>>a[i];
    for(i=0; i<n; i++)
        if ( a[n] < 0 )ineg=i;
    for(sum=0; i=ineg+1; i<n, i++)
        sum += a[n];
    cout<<"Summa :"<<sum<<endl;
    system("pause");
    return 0;
у меня пару вопросов: что делает код на строке 5(т.е. в чём смысл присваивать значению по адресу "а"----- (new float[n]) когда самому (new float[n]-у) ничего не присваивается если ошибаюсь поправьте меня). И почему программа не работает как надо?
что не так написано? Желательно наглядно показать в правильном виде программы. Буду благодарен.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.05.2016, 13:00
Ответы с готовыми решениями:

Умножение матриц(динамические одномерные массивы)
Есть класс: class Array { public: /*Конструкторы*/ Array(Array &amp;tmp);//конструктор копирования Array();...

Динамические одномерные массивы. Удаление и вставка элементов
Задание: Сформировать одномерный массив целых чисел, используя датчик случайных чисел. Распечатать полученный массив. Удалить все элементы...

Создать шаблон класса, порождающий динамические одномерные массивы
. Дано: число N и последовательность a1, a2, … aN Создать шаблон класса, порождающий динамические одномерные массивы с элементами...

8
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202
07.05.2016, 13:14 2
Цитата Сообщение от Maxim09 Посмотреть сообщение
float sum, *a=new float[n];
создается переменная типа float - sum, и указатель на динамически выделенный массив размерность n - a
Цитата Сообщение от Maxim09 Посмотреть сообщение
И почему программа не работает как надо?
А кто ж знает как вам надо...
0
 Аватар для Maxim09
1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458
07.05.2016, 13:25  [ТС] 3
Вот задача по этой программе:
Написать прог-му. для вещественного массива из (n) элементов определяющую сумму его элементов расположенных правее последнего отрицательного элемента.
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
07.05.2016, 13:27 4
Цитата Сообщение от Maxim09 Посмотреть сообщение
что не так написано?
Вот это:
Цитата Сообщение от Maxim09 Посмотреть сообщение
sum += a[n];
выход за пределы массива.
1
 Аватар для Maxim09
1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458
07.05.2016, 13:29  [ТС] 5
а как надо? покажите.
0
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202
07.05.2016, 13:31 6
Maxim09, ... вам четко указали на ошибку, если вы писали код - то сможете исправить точно
0
 Аватар для Maxim09
1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458
07.05.2016, 13:34  [ТС] 7
....код писал не я.
0
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202
07.05.2016, 13:46 8
Лучший ответ Сообщение было отмечено Maxim09 как решение

Решение

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;
    cout<<"Vvedite kol-vo elementov";
    cin>>n;
    int i, ineg;
    float sum, *a=new float[n];
    cout<<"Vvedite elementi massiva"<<endl;
    for(i=0; i<n; i++)cin>>a[i];
    for(i=0; i<n; i++)
    {
        if ( a[i] < 0 )
            ineg=i;
    }
    for(sum=0, i=ineg+1; i<n; i++)
        sum += a[i];
    cout<<"Summa :"<<sum<<endl;
    system("pause");
 
    return 0;
}
там кроме этого еще ошибок хватает... код рабочий, но не эффективный и написан мягко говоря неочень..
1
 Аватар для Maxim09
1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458
07.05.2016, 13:55  [ТС] 9
Благодарю всех за ответ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.05.2016, 13:55
Помогаю со студенческими работами здесь

Ошибка в коде (одномерные массивы)
Помогите, пожалуйста, найти ошибку в коде. Задача - вывод массива таким образом, чтобы сначала были все отрицательные, затем все...

Баги в коде. Одномерные массивы
Собственно, задание, на которое написана прога: В одномерном массиве, состоящем из n вещественных элементов, вычислить: — количество...

Создать шаблон класса, порождающего динамические одномерные массивы с элементами различных типов
Дано: число N и последовательность a1, a2, … aN Создать шаблон класса, порождающего динамические одномерные массивы с элементами...

Динамические массивы -- помогите с ними разобраться!
Нужно составить программу на Си++: Выбрать из массива неповторяющиеся элементы и сформировать из них динамический массив. Проблема (для...

Не могу найти ошибку в коде, двумерные и одномерные массивы
# include &lt;iostream.h&gt; # include &lt;iomanip.h&gt; # include &lt;conio.h&gt; # include &lt;fstream.h&gt; # define m 10 # define n 5 # define k 50...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной. Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
Формулы поворота
Igor3D 10.03.2025
Добрый день Тема Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости". x' = x * cos(a) - y * sin(a) y' = y * cos(a) + x * sin(a) Как бы Вы их. . .
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view. string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет! Отправлено 19 февраля 2025 года в 17:20:21 UTC Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home. Мы официально. . .
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru