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

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

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

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста.В одномерном массиве состоящем из 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2015, 00:16
Ответы с готовыми решениями:

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

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

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

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

8
Эксперт С++
8971 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
01.02.2015, 00:33 2
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
Я Фоюмчанин ? дааааа)
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
01.02.2015, 17:09 3
Вы бы хоть попытались разобраться
Совет на будущее - первым делом приведите код в порядок))
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
6 / 6 / 6
Регистрация: 13.01.2014
Сообщений: 110
01.02.2015, 17:15 4
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
Я Фоюмчанин ? дааааа)
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
01.02.2015, 17:17 5
Цитата Сообщение от TaiGeddar Посмотреть сообщение
ivan.-94, а разве abs работает без math.h?
Да, работает.
0
6 / 6 / 6
Регистрация: 13.01.2014
Сообщений: 110
01.02.2015, 17:21 6
ivan.-94, знаешь... я идиот упоротый, я хотел спросить работает ли rand() без cstdlib.
DEV без cstdlib ругается.
0
Я Фоюмчанин ? дааааа)
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
01.02.2015, 17:29 7
Да и abs определена в stdlib.h, но в этом проекте пока не убрал этот заголовочный - abs не работал.

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

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

Добавлено через 3 минуты
ivan.-94, мы оба не верно решили.
Нужно найти элемент равный нулю и после него все сложить.
0
Я Фоюмчанин ? дааааа)
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
01.02.2015, 17:44 9
Лучший ответ Сообщение было отмечено 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
01.02.2015, 17:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2015, 17:44
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru