Форум программистов, компьютерный форум CyberForum.ru

Массив - C++

Восстановить пароль Регистрация
 
Ferus
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 13
31.12.2011, 00:56     Массив #1
Добрый вечер. Помогите пожалуйста с решением задачи. Никак не получается правильно составить. Все время лишние элементы получаются.


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

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2011, 00:56     Массив
Посмотрите здесь:

C++ Задать массив вещественных чисел и вставить в исходный массив число
C++ Массив: Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию.
C++ Задан вектор X[20]. Положительные числа переписать в массив Y, а отрицательные в массив W
C++ задача записать в массив отрицательные элементы матрицы в массив и вывести их
Массив: Составить массив из двух исходных по заданному принципу заполнения C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
31.12.2011, 01:06     Массив #2
В чем сложность?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
#include <iterator>
#include <numeric>
#include <vector>
 
int main()
{
    std::vector <int> vec;
    std::copy(std::istream_iterator <int> (std::cin), 
        std::istream_iterator <int> (), back_inserter(vec));
    std::copy(vec.begin(), vec.end(), std::ostream_iterator <int> (std::cout," "));
    std::cout<<std::endl;
    std::partial_sum(vec.begin(), vec.end(), vec.begin());
    std::copy(vec.begin(), vec.end(), std::ostream_iterator <int> (std::cout," "));
    std::cout<<std::endl;
    system("pause");
    return 0;
}
Ferus
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 13
31.12.2011, 01:13  [ТС]     Массив #3
Сложности в принципе нет. Просто я не могу правильно составить алгоритм решения. и получчаются лишние или неверные числа. И еще - я пока не изучал библиотеки #include <algorithm>,#include <iterator>,#include <numeric>,#include <vector>.
Нужно выполнить работу использую только основные операторы (for , while , if и т.д.)

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
40
#include "stdafx.h"
#include "iostream"
#include <time.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    srand ((unsigned)time(NULL));
    const int arraySize = 20;
    int A[arraySize], i= 0,s=0,hold = 0;
 
    
    for (i;i<arraySize;i++){
    A[i]=rand ()%6;
    cout<<A[i]<<" ";
    }
     
    cout << endl;
    for (i=0;i < arraySize ; i++ )
    {
        
        if (i == 0) (A[i] = A[0]);
        else for(i=1;i<arraySize;i++)
        
            {for(int j=i;j<arraySize;j++)
            {
                
            s+=A[j];
            A[i]=s;
            
        }
            
        cout<< A[i]<<" ";
        }
    
    }
 
    return 0;
}

Вот моя работа - но тут неправильный код.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
31.12.2011, 01:20     Массив #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
 
int main( void )
{
    int arr[] = { 1, 2, 3, 4, 5, 6, 7 };
    int i = 1, s = 7;
    while ( i < s )
        arr[ i++ ] += arr[ i - 1 ];
    i = 0;
    while ( i < s)
        printf("%2i ", arr[ i++ ] );
    return 0;
}
Yandex
Объявления
31.12.2011, 01:20     Массив
Ответ Создать тему
Опции темы

Текущее время: 16:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru