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

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

Войти
Регистрация
Восстановить пароль
 
Mirai Nikki
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 14
#1

Формирование массива по заданному правилу - C++

27.09.2012, 01:11. Просмотров 421. Ответов 3
Метки нет (Все метки)

Дан массив A размера N (одномерный). Сформировать новый массив B того же размера по следующему правилу: элемент BK равен сумме элементов массива A с номерами от K до N
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2012, 01:11     Формирование массива по заданному правилу
Посмотрите здесь:

Модифицировать элементы массива по заданному правилу - C++
Дан двумерный массив целых чисел. Модифицировать его элементы по следующему правилу: ко всем четным элементам массива прибавить последний...

Вывод массива согласно заданному правилу. - C++
Вывести на экран числа в виде следующей таблицы: 41 42 43 ... 50 51 52 53 ... 60 61 62 63 ... 70 ... 71 72 73 ... 80

Из массива сформировать матрицу по заданному правилу - C++
Помогите написать код. вот задание вариант Б П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других...

Из массива сформировать матрицу по заданному правилу - C++
Дан вектор Y размером n. Получить матрицу порядка n x m по таким правилам: а (i,j)=y(i), i є , j є . (завал, весь день пытаюсь решить,...

Определить значение целочисленного массива по заданному правилу - C++
Даны вещественные массивы B.Опpеделить значения целочисленного массива D по следующему правилу: D=1, если сумма элементов i‐й строки больше...

Сформировать последовательность по заданному правилу - C++
Всем привет, еще раз! В общем стоит такая задача: Даны два положительных числа n и k. Надо вывести последовательность x1,x2,x3,...,xk...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dimon4ik32
13 / 13 / 1
Регистрация: 16.11.2010
Сообщений: 32
27.09.2012, 02:49     Формирование массива по заданному правилу #2
Ну мне кажется, что оно должно выглядеть как-то так.


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>
 
using namespace std;
 
int main()
{
    int n;
    cout<<"Input N."<<endl;
    cin>>n;
    float a[n],b[n];
    cout<<"Input array's elements."<<endl;
          for(int i=0;i<n;i++)
              cin>>a[i];
          for(int i=0;i<n;i++)
          {
              b[i]=0;
              for(int j=i;j<n;j++)
                  b[i]+=a[j];
          }
    cout<<"Elements of B are:"<<endl;
          for(int i=0;i<n;i++)
              cout<<b[i]<<" ";
    return 0;
}
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
27.09.2012, 08:21     Формирование массива по заданному правилу #3
А еще лучше так. Пусть S - сумма всех элементов массива a, тогда
http://www.cyberforum.ru/cgi-bin/latex.cgi?b_i = S - S_{i-1}, i=1,...,N-1,
http://www.cyberforum.ru/cgi-bin/latex.cgi?S_0 = b_0, причем
http://www.cyberforum.ru/cgi-bin/latex.cgi?S_i = S_{i-1} + b_i, i=1,...,N-1.
Получится линейная сложность алгоритма.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2012, 13:57     Формирование массива по заданному правилу
Еще ссылки по теме:

Сформировать вектор по заданному правилу - C++
Даны натуральное число n и действительные числа y1 y2…yn. Получить вектор Z (Z1, Z2…Zn), Компонента Zi равняется: yi, если 0 &lt; yi &lt;...

Получить массив по заданному правилу - C++
Друзья , прикладываю картинку с заданиями, может у кого есть исходники какой нибудь программки? , на ЛЮБОМ языке программирования,...

Сформировать массив по заданному правилу - C++
Напишите программу, которая создает двухмерный массив и заполняет его по следующему принципу: пользователь вводит число (например, 3)...

Сформировать матрицу по заданному правилу - C++
Здравствуйте! Подскажите пожалуйста где моя ошибка!? На грядках посажена капуста и морковь. Грядки расположены рядом и образуют...


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

Или воспользуйтесь поиском по форуму:
Dimon4ik32
13 / 13 / 1
Регистрация: 16.11.2010
Сообщений: 32
27.09.2012, 13:57     Формирование массива по заданному правилу #4
Да, согласен, так лучше. Но можно начать заполнять массив b с конца, тогда для каждого элемента bi=bi+1+ai , где i=n-2, n-3, ..., 0

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#define For(a,b) for(int a=0;a<b;a++)
 
using namespace std;
 
int main()
{
    int n;
    cout<<"Input N."<<endl;
    cin>>n;
    float a[n],b[n];
    cout<<"Input array's elements."<<endl;
          For(i,n)
              cin>>a[i];
          b[n-1]=a[n-1];
          for(int i=n-2;i>=0;i--)
              b[i]=b[i+1]+a[i];
    cout<<"Elements of B are:"<<endl;
          For(i,n)
              cout<<b[i]<<" ";
    return 0;
}
Yandex
Объявления
27.09.2012, 13:57     Формирование массива по заданному правилу
Ответ Создать тему
Опции темы

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