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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
#1

Не пойму как реализовать такой массив=) (формирование массива сумм) - C++

03.12.2012, 01:17. Просмотров 376. Ответов 2
Метки нет (Все метки)

Заданий масив C(30). сложить программу формирования масива сумм:
B(1)=C(1)+C(6)+C(11)+...+C(26)
B(2)=C(2)+C(7)+C(12)+...+C(27)

Добавлено через 20 минут
Ребята срочнооо=)) Помогите=))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2012, 01:17     Не пойму как реализовать такой массив=) (формирование массива сумм)
Посмотрите здесь:

Формирование одномерного массива из сумм элементов каждой строки матрицы, кратных числу k - C++
Все, вроде, правильно, но выводит только первый элемент попавший в if. #include <conio.h> #include <iostream> using...

Строковые литералы, не пойму как реализовать - C++
В произвольно взятом предложении вывести на экран все слова, начинающиеся на гласную букву.

Формирование денежных сумм - C++
Вообщем, есть задача: Есть число, нужно разделить его на купюры по определенному номиналу. Номиналов может быть сколько угодно...

Массив из сумм чисел исходного массива - C++
Дано a={15,2,0,4,-15,-7,0,-44,0,-4} массив. Создать новый b массив у которого элементы должны быть так b1=a1, b2=a1+a2; b3=...

Получить новый массив, состоящий из сумм цифр элементов исходного массива - C++
составить схему алгоритма и программу решения задачи. Ввести массив, состоящий из 9 элементов (девять двузначных чисел) целого типа....

Массив: Из элементов массива найти несколько сумм, из котрых в итого выбрать минимальную - C++
Ребята, такое вот условие. Это будет кусочек от другой программы... В общем, есть массив чисел. Ну, к примеру, пусть в нём будет 10...

Как инициализировать такой массив - C++
Нужно в проге(консольное приложение Win32) испоьзовать массив таких размеров double massiv_resultatov={0}; просто так я не смог его...

Как заполнить такой массив - C++
Есть задача создать и заполнить массив вида int massiv числами от 1 до 13 в каждом элементе массива должно быть 5 цифр от...

Нахождение всех возможных вариантов сумм, если такой суммы нет найти приближенное значение - C++
Всем привет! Написал программу для нахождения всех возможных сумму. Но нужно еще, что бы программа искала и приближенное к этой сумме. ...

Как передать такой массив в функцию - C++
Есть большой массив память для которого выделяеться динамически double *****massiv_resultatov = new double****; for(i = 0; i < 25;...

Как реализовать передачу массива в функцию и возвращение массива из функции? - C++
Нужно сделать отдельный блок программы в виде функции, которая в качестве аргумента должна принимать массив и возвращать массив после...

Реализовать циклический алгоритм вычисления сумм корней из двух - C++
Практическая работа №3 Циклические алгоритмы. Вариант 4. Найти значение суммы \sqrt{2+\sqrt{2+\sqrt{2+...\sqrt{2}}}} , где n >...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
03.12.2012, 02:38     Не пойму как реализовать такой массив=) (формирование массива сумм) #2
C++
1
2
3
4
5
6
...
int c[30]= {.......}; здесь вводите злементы массива или в циклеж
int b[3]={0,0,0};
for (int i=1; i<27; i+=5) b[1]+=c[i];
for (int i=2; i<28; i+=5) b[2]+=c[i];
...
activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
03.12.2012, 19:36     Не пойму как реализовать такой массив=) (формирование массива сумм) #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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <array>
#include <cstdint>
#include <iterator>
#include <iomanip>
 
const uint32_t A_ARRAY_SIZE(30);
const uint32_t B_ARRAY_SIZE(4);
 
class shit
{
private:
    std::array<int, A_ARRAY_SIZE> A;
    std::array<int, B_ARRAY_SIZE> B;
public:
 
    shit()
    {
        for (uint32_t i = 0; i < A.size(); ++i )
            A[ i ] = i;
        B.fill(0);
    }
 
    shit( shit &__n) {}
 
    ~shit() {}
 
    void set ()
    {
        uint32_t i = 0;
        for (auto it = this->B.begin(); it != this->B.end(); ++it)
            for (uint32_t k = i; k < (A_ARRAY_SIZE - B_ARRAY_SIZE + i); ++k)
                *it += this->A[ k ];
 
    }
 
    std::ostream &operator <<(std::ostream &out)
    {
        uint32_t i = 0;
        for (auto it = this->B.begin(); it != this->B.end(); ++it)
            out << "B [" << std::setw(2) << i++ << "]" << std::setw(5) << *it << '\n';
        return out;
    }
};
 
int main()
{
    shit O;
    O.set();
 
    O.operator <<(std::cout);
 
    return 0;
}
Добавлено через 7 минут
ой, я совсем не то написала.

Добавлено через 17 минут
а я переписала программу, теперь как надо по ТЗ.

Добавлено через 10 часов 48 минут
поле set() надо переписать так и будет правильно.
C++
1
2
3
4
5
6
7
8
9
10
11
    void set ()
    {
        uint32_t i = 0;
        for (auto it = this->B.begin(); it != this->B.end(); ++it)
        {
            for (uint32_t k = i; k < (A_ARRAY_SIZE - B_ARRAY_SIZE + i); ++k)
                *it += this->A[ k ];
            ++i;
        }
 
    }
Добавлено через 3 часа 19 минут
вот это будет работать в старом стандарте. Синтаксис более понятный. Если уж совсем так тяжело.
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream>
#include <vector>
#include <iomanip>
#include <cstdint>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
#define A_ARRAY_SIZE (30)
#define B_ARRAY_SIZE (4)
#define RAND_MAXIMUM (30)
 
class shit
{
private:
    std::vector<int> A;
    std::vector<int> B;
public:
 
    shit()
    {
        uint32_t i = 0;
 
        A.resize(A_ARRAY_SIZE);
        B.resize(B_ARRAY_SIZE);
        while (i < A_ARRAY_SIZE)
        {
            A[ i ] = std::rand() % RAND_MAXIMUM - RAND_MAXIMUM / 2;
            ++i;
        }
        i = 0;
 
        while (i < B_ARRAY_SIZE)
        {
            uint32_t j = i;
            int sum = 0;
 
            while (j < A_ARRAY_SIZE - B_ARRAY_SIZE + i)
                sum += A[ j++ ];
            B[ i ] = sum;
            ++i;
        }
    }
 
    ~shit(){}
 
    std::ostream &operator << (std::ostream &out)
    {
        out << "array A:\n";
        for (uint32_t i = 0; i < A_ARRAY_SIZE; ++i )
            out << std::setw(4) << A[ i ];
        out << std::endl;
        out << "array B:\n";
 
        for (uint32_t i = 0; i < B_ARRAY_SIZE; ++i )
            out << std::setw(4) << B[ i ];
        out << std::endl;
        return out;
    }
};
 
int main()
{
    std::srand(std::time(NULL));
    shit a, b,c;
    a.operator <<(std::cout);
    b.operator <<(std::cout);
    c.operator <<(std::cout);
 
    return 0;
}
Yandex
Объявления
03.12.2012, 19:36     Не пойму как реализовать такой массив=) (формирование массива сумм)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru