Консультация № 194252
20.12.2018, 20:49
0.00 руб.
0 3 1
Уважаемые эксперты! Прошу вас помочь с составлением программы на с++.
Ввести массив с клавиатуры, потом переформатировать его таким образом чтобы после каждого элемента введенного массива выводилась сума 2-ох предыдущих элементов.
Пример
Введенный массив 1 0 1 1 2 1
Переформатирований 10 01 11 11 22 13
Заранее - большое спасибо!

Обсуждение

давно
Советник
400484
472
21.12.2018, 20:39
общий
Добрый день,
уже перечитывал несколько раз и не могу ни как понять логику.
Попробовал нарисовать, но не получается как у вас.
Опишите более подробно переформатирование.
Прикрепленные файлы:
fb3c20348f133dea6b24655ec4bb982d.png
давно
Посетитель
402526
4
21.12.2018, 21:57
общий
Здравствуйте, спасибо вам за уделенное внимание. Массив ,1 0 1 1 2 1, я ввожу с клавиатуры, а вывести нужно 10 01 11 11 22 13 (так как у нулевого элемента массива отсутствуют 2 предыдущие элементы, после 1 ставим 0,) потом ставим 0 так как это первый элемент данного массива далее выводим 1 (поскольку первый элемент имеет только один предыдущий элемент выводим только его)
далее выводим 1(второй элемент данного массива) здесь сума равна 1+0 и т.д.
Прикрепленные файлы:
8635b45452f18586b238d19d7373eb57.jpg
давно
Советник
400484
472
22.12.2018, 19:28
общий
это ответ
Здравствуйте, soloveujenya!
К примеру можно еще добавить ввод размера массива. Я жестко его привязал.
Пример кода:
Код:

#include <iostream>

using namespace std;

int main()
{
const int size = 6;
int input[size];

for (int i = 0; i < size; i++)
{
cout << "enter integer number: ";
cin >> input[i];
}

for (int i = 0; i < size; i++)
{
cout << input[i] << " ";
}
cout << endl;

for (int i = 0; i < size; i++)
{
if (i == 0)
cout << input[i] << 0 << " ";
else if (i == 1)
cout << input[i] << input[i - 1] << " ";
else
cout << input[i] << (input[i - 1] + input[i - 2]) << " ";
}
cout << endl;
system("pause");
return 0;
}

вывод
Код:

enter integer number: 1
enter integer number: 0
enter integer number: 1
enter integer number: 1
enter integer number: 2
enter integer number: 1
1 0 1 1 2 1
10 01 11 11 22 13
Для продолжения нажмите любую клавишу . . .
5
Форма ответа