Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/55: Рейтинг темы: голосов - 55, средняя оценка - 4.82
6 / 6 / 9
Регистрация: 18.03.2014
Сообщений: 176

Динамический массив, найти сумму элементов

01.02.2015, 00:16. Показов 11163. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста.В одномерном массиве состоящем из n целых элементов, вычислить.
Сумму модулей элементов массива, расположенных после первого элемента, равного 0

Добавлено через 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
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#include <wincon.h>
#pragma hdrstop
 
#pragma argsused
int main()
{ SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  cout << "Ââåäèòå êîëè÷åñòâî ýëåìåíòîâ ";
  int n,sum;
  cin >> n;
  int *a=new int[n];
  srand(time(NULL));
  for (int i=0; i<n; i++)
  {a[i]=rand()%100-rand()%100;
  cout << a[i] << " ";}
  for (int i=0; i<n; i++)
  sum=a[0];
  {if (a[i]=0);
  sum=sum+abs(a[i]) ;}
  cout << endl;
  cout << "Ñóììó ìîäóëåé ýëåìåíòîâ ìàññèâà = "<<sum;
  delete[] a;
  getch();
  return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.02.2015, 00:16
Ответы с готовыми решениями:

Динамический массив: найти сумму элементов каждого столбца
Динамический массив. Что тут не так сделал? и так ведь динамический массив выглядит? Задание Найти сумму элементов каждого столбца и...

Как преобразовать массив в динамический? Массив вычисляет сумму элементов каждой диагонали матрицы
Ошибка : Вызвано исключение по адресу 0x00BB2F4F в Проект6.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDFDFE05. #...

Динамический массив: подсчитать сумму четных элементов
Создать динамический массив указателей для сохранения двумерного массива А в динамической памяти. Составить программу для подсчета суммы...

8
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
01.02.2015, 00:33
http://rextester.com/ZKNOIZ85999


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
#include <algorithm>
#include <iostream>
#include <iterator>
#include <numeric>
#include <cstdlib> 
#include <vector> 
#include <ctime>   
 
using namespace std;
 
int main()
{
    std::srand ( unsigned ( std::time(0) ) );
    
    std::cout << "Hello, world!\n";
    
    const int ar[]={0,1,2,3,4,5,6,7,8,9};
    
    std::vector<int>
        myvector(ar, ar+10);
    
    std::ostream_iterator<int> 
        out(std::cout,", ");
    
    std::cout<<"result = " << (
            std::random_shuffle( myvector.begin(), myvector.end() ),
            
            std::copy(myvector.begin(), myvector.end(), out ),
            
            std::accumulate(
                std::find( myvector.begin(), myvector.end(), 0 ),
                myvector.end(), 0
            )
        ) << std::endl;
}
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
01.02.2015, 17:09
Вы бы хоть попытались разобраться
Совет на будущее - первым делом приведите код в порядок))
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
#include <iostream.h>
#include <conio.h>
#include <windows.h>
#pragma hdrstop
 
#pragma argsused
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите количество элементов ";
    int n,sum;
    cin >> n;
    int *a=new int[n];
    srand(time(NULL));
    for (int i=0; i<n; i++)
    {
        a[i]=rand()%100-rand()%100;
        cout << a[i] << " ";
    }
    sum=a[0];
    for (int i=1; i<n; i++)
    {
        if (a[i]==0);
        sum += abs(a[i]);
    }
    cout << endl;
    cout << "Сумму модулей элементов массива = "<<sum;
    delete[] a;
    getch();
    return 0;
}
0
 Аватар для TaiGeddar
6 / 6 / 6
Регистрация: 13.01.2014
Сообщений: 110
01.02.2015, 17:15
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
#include<iostream>
#include<cstdlib>
using namespace std;
 
int main()
{
    int n=rand()%99; //случайное количество
    int *m=new int [n];//инициализация динамического массива
    int k=0;
    for (int i=0; i<=n; i++)
    {
        m[i]=(rand()%33) - (rand()%33);//задание значения  
    }
    
    for(int i=0; i<=n; i++)
    {
        
if (m[i]==0){
    k+=abs(m[i]);//нахождение суммы модулей 
}   
}
    cout<<"k="<<k<<endl;
    return 0;
}
Пардон, меня опередили.

Добавлено через 5 минут
ivan.-94, а разве abs работает без math.h?
1
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
01.02.2015, 17:17
Цитата Сообщение от TaiGeddar Посмотреть сообщение
ivan.-94, а разве abs работает без math.h?
Да, работает.
0
 Аватар для TaiGeddar
6 / 6 / 6
Регистрация: 13.01.2014
Сообщений: 110
01.02.2015, 17:21
ivan.-94, знаешь... я идиот упоротый, я хотел спросить работает ли rand() без cstdlib.
DEV без cstdlib ругается.
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
01.02.2015, 17:29
Да и abs определена в stdlib.h, но в этом проекте пока не убрал этот заголовочный - abs не работал.

Добавлено через 5 минут
У меня кстати достаточно странно себя ведет компилятор - но этот abs не всегда срабатывает
как то через раз, но под дебагом все четко.

Добавлено через 26 секунд
TaiGeddar, У меня работает))
0
 Аватар для TaiGeddar
6 / 6 / 6
Регистрация: 13.01.2014
Сообщений: 110
01.02.2015, 17:37
ivan.-94,
Цитата Сообщение от ivan.-94 Посмотреть сообщение
sum=a[0];
a[0] может быть не нуливым, а ты его прибавляешь. Ошибся или я что-то не так понял?

Добавлено через 3 минуты
ivan.-94, мы оба не верно решили.
Нужно найти элемент равный нулю и после него все сложить.
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
01.02.2015, 17:44
Лучший ответ Сообщение было отмечено DenisKrut как решение

Решение

TaiGeddar, Да вы почти правы, только не в ту сторону))
Нужно просто взять по модулю sum=abs(a[0]); - если нулевой не важно, главное что бы не отрицательный.
И мы не правильно решили))) там добавить все го то 1 цикл перед суммированием))

Добавлено через 5 минут
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
#include <iostream.h>
#include <conio.h>
#include <windows.h>
#pragma hdrstop
 
#pragma argsused
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите количество элементов ";
    int n, sum=0;
    cin >> n;
    int *a=new int[n];
    srand(time(NULL));
    for (int i=0; i<n; i++)
    {
        a[i]=rand()%100-rand()%100;
        cout << a[i] << " ";
    }
    int iterNull = 0;
    while (a[iterNull]!=0) iterNull++;
    for (int i=iterNull; i<n; i++)
    {
        if (a[i]==0);
        sum += abs(a[i]);
    }
    cout << endl;
    cout << "Сумму модулей элементов массива = "<<sum;
    delete[] a;
    getch();
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.02.2015, 17:44
Помогаю со студенческими работами здесь

Найти двухмерный динамический массив и найти его минимальную сумму по столбцам
Как найти двухмерный динамический массив и найти его минимальную сумму по столбцам?

Динамический массив: вычислить сумму элементов главной и побочной диагоналей (Исправление кода)
я скатал у друга готовую задачу и преподаватель решил на защиту изменить мне условие #include &lt;iostream&gt; #include...

Динамический массив: записать в 1-ый элемент массива сумму положительных элементов, а в последний - отрицательных
Массив A содержит 20 вещественных чисел. Используя динамическое выделение памяти под массив записать в первый элемент массива сумму его...

Дано двумерный динамический массив. Найти сумму произведения строк
никак не могу понять, как работать отдельно со строками в массиве. очень прошу о помощи

Динамический массив (составить программу, в которой вычислить сумму отрицательных элементов массива, расположенных под главной диагональю)
Создать динамический массив указателей для сохранения двумерного массива А с N × N действительных чисел в динамической памяти....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru