Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 23.07.2015
Сообщений: 4
1

Заменить каждый элемент массива суммой предыдущих

09.09.2015, 21:27. Показов 5438. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени , подскажите вот в чем:
Задан массив чисел (arr), заменить каждый элемент массива суммой предыдущих.
Пред.условия:
1) включая заменяемые
2) исключая заменяемые.

Просьба, чтобы код был проще, просто новичок могу не разобраться.
Принимаю любую критику
P.s Заранее большое спасибо.

Вот мой код:
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
36
37
38
39
/*
=====================
 Задан массив чисел,
 заменить каждый элемент 
 массива суммой предыдущих.
1) включая заменяемые 
2) исключая заменяемые.
=====================
*/
 
 
#include <iostream>
#include <cstdlib>
using namespace std;
 
 
 
int main()
{
    setlocale(LC_ALL, "rus");
    int arr[10];
    int brr[10];
    int crr[10];
    int a, i, j, w;
    float s;
    cout << "Введите массив: " << endl;
    for (a = 0; a < 10; a++)
        cin >> brr[a];
    for (a = 0; a < 10; a++)
        arr[a] = brr[a] % 20;
    for (i = 0; i < 10; i++)
        crr[i] = arr[i] + brr[i];
    cout << "вы ввели массив" << endl;
    for (a = 0; a < 10; a++)
        cout << crr[a] << endl;
    
 
    system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.09.2015, 21:27
Ответы с готовыми решениями:

Каждый элемент заданного массива заменить суммой всех предыдущих элементов (нарастающий итог)
День добрый! Ребята, хотел проконсультироваться, правильно ли я понял задачу За ранее благодарен!...

Каждый элемент массива, кроме первого, заменить суммой всех его предыдущих элементов
Дан массив А. Каждый его элемент, кроме первого, заменить суммой всех его предыдущих элементов....

В массиве A (n) каждый элемент, кроме первого заменить суммой всех предыдущих элементов
В массиве A (n) каждый элемент, кроме первого заменить суммой всех предыдущих элементов

Заменить каждый нулевой элемент массива А суммой элементов массива В
Даны целочисленные массивы А и В. Заменить каждый нулевой элемент массива А суммой элементов...

8
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
09.09.2015, 21:59 2
Niko25,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    const int LIM(10);
    int arr[LIM], brr[LIM], crr[LIM];
    cout << "Введите массив: " << endl;
    for (int i(0); i < LIM && cin >> brr[i];)
        arr[i] = brr[i] % 20, crr[i++] = arr[i] + brr[i];
    cout << "Вы ввели массив" << endl;
    for (int i(0); i < LIM;)
        cout << crr[i++] << endl;
    system("pause");
    return 0;
}
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,715
09.09.2015, 22:00 3
Niko25, В коде каждая строчка должна быть обоснована и написана в соответствии с алгоритмом.
Например, поясните, зачем Вы это написали:
Цитата Сообщение от Niko25 Посмотреть сообщение
for (a = 0; a < 10; a++)
arr[a] = brr[a] % 20;
1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
09.09.2015, 22:12 4
а)
C++
1
2
3
4
5
int s;
for(i=0, s=0; i<10; i++) {
  s += arr[i];
  arr[i] = s;
}
Вариант б) аналогичен
Цитата Сообщение от Niko25 Посмотреть сообщение
Принимаю любую критику
Цитата Сообщение от Niko25 Посмотреть сообщение
float s;
Забудь о float навсегда. Считай, что нет накого типа данных. Есть double. Есть int. Ну, в крайнем случае - long.

Добавлено через 4 минуты
Цитата Сообщение от zss Посмотреть сообщение
Например, поясните, зачем Вы это написали:
Ну, понятно, что каша у парня в голове. Будем надеяться на ее успешное разгребание...

Добавлено через 2 минуты
Ferrari F1, Ну и что? Показал яйца в профиль?
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
09.09.2015, 22:25 5
Байт,
0
4817 / 2278 / 287
Регистрация: 01.03.2013
Сообщений: 5,947
Записей в блоге: 28
09.09.2015, 22:42 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
void f(int *p, int *e) {if (p<=e) {*p+=*(p-1); f(p+1,e);}}
void g(int *p, int *e, int a) {if (p<=e) {int t=*p; *p=a; g(p+1,e,a+t);}}
void s(int *p, int *e) {if (p<=e) {cout<<*p<<" "; s(p+1,e);} else cout<< "\n";}
 
int main() {
    const int N = 5;
    int a[N] = {1,2,3,4,5}, *ae=a+N-1;
    s(a,ae); f(a+1,ae); s(a,ae);
    int b[N] = {1,2,3,4,5}, *be=b+N-1;
    s(b,be); g(b,be,0); s(b,be);
    return 0;
}
https://ideone.com/htyUql
0
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
09.09.2015, 23:01 7
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <iterator>
#include <vector>
#include <numeric>
 
int main()
{
    std::vector<int> v {1,2,3,4,5,6,7,8,9};
    std::partial_sum(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
}
1
0 / 0 / 0
Регистрация: 23.07.2015
Сообщений: 4
12.09.2015, 12:00  [ТС] 8
Большое Всем спасибо кто помог мне , я учел Ваши комментарии и буду стараться их исправлять.
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
12.09.2015, 12:07 9
Цитата Сообщение от Niko25 Посмотреть сообщение
я учел Ваши комментарии и буду стараться их исправлять.
кого их? комментарии чтоли?

Тебе не лишним было бы на русском попрогать)) а потом только за Си++ браться
0
12.09.2015, 12:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2015, 12:07
Помогаю со студенческими работами здесь

Дан массив А(12). Каждый третий элемент массива заменить суммой двух предшествующих
1)Дан массив А(12). Каждый третий элемент массива заменить суммой двух предшествующих. Нужно...

В массиве каждый третий элемент заменить полусуммой двух предыдущих (с использованием указателей)
Заранее большое спасибо.(написать программу с использованием указателей)

Если в данном массиве нет отрицательных элементов, то сформировать новый массив: каждый элемент которого является суммой предыдущих элементов.
Если в данном массиве нет отрицательных элементов, то сформировать новый массив: каждый элемент...

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


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

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