0 / 0 / 0
Регистрация: 27.11.2016
Сообщений: 12
1

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

25.04.2018, 19:06. Показов 2815. Ответов 13
Метки нет (Все метки)

Дан одномерный массив целых чисел А. Создать новый массив В, занеся в каждый
элемент с четным индексом сумму всех предыдущих элементов массива А с четными
индексами, в элемент с нечетным – сумму предыдущих элементов массива А с
нечетными индексами (в первый и второй элементы заносится значение 0). Подсчет
суммы предыдущих реализуется в виде функции.(функции допишу самостоятельно, помогите с телом программы).
Ввод/вывод значений осуществляется через printf/scanf
(Т.к. я новичок в этом, комментариям к строкам буду только рад)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2018, 19:06
Ответы с готовыми решениями:

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

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

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

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

13
Диссидент
Эксперт C
27180 / 16939 / 3743
Регистрация: 24.12.2010
Сообщений: 38,116
25.04.2018, 19:52 2
C++
1
2
3
4
int A[N], B[N};
B[0] = B[1] = 0;
for(int i=2; i<N; i++)
  B[i] = B[i-2] + A[i-2];
Добавлено через 1 минуту

Не по теме:

Тот случай, когда решение оказалось короче условия:)

1
81 / 77 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
25.04.2018, 20:53 3
Байт,
Цитата Сообщение от Kosh1 Посмотреть сообщение
с четным индексом
Цитата Сообщение от Байт Посмотреть сообщение
C++
1
i++
мне кажется тут что-то не так
0
Диссидент
Эксперт C
27180 / 16939 / 3743
Регистрация: 24.12.2010
Сообщений: 38,116
25.04.2018, 22:57 4
Цитата Сообщение от k0vpack Посмотреть сообщение
мне кажется
Перекреститесь, и попробуйте.
Все просто. Четные пойдут в четные, нечетные - в нечетный. Если я, конечно, правильно понял задачку.
0
7422 / 5017 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
26.04.2018, 02:11 5
Цитата Сообщение от Kosh1 Посмотреть сообщение
Ввод/вывод значений осуществляется через printf/scanf
тогда Вам в раздел языка С. В с++ таких операторов нет.
0
Диссидент
Эксперт C
27180 / 16939 / 3743
Регистрация: 24.12.2010
Сообщений: 38,116
26.04.2018, 11:50 6
Цитата Сообщение от Yetty Посмотреть сообщение
таких операторов нет.
2 ошибки в трех словах(66%)
1. printf, scanf - это не операторы, а функции
2. Есть. Библиотека С++ включает все функции (за редкими исключениями, которых я не знаю) языка С.
0
Yetty
26.04.2018, 12:44
  #7

Не по теме:

Байт, мне совсем неинтересно вступать с Вами в дискуссии - зря потраченное время. но на этот раз сделаю исключение. ещё раз в с++ нет операторов printf, scanf (для ввода-вывода). функции других языков программирования, в частности printf, scanf для языка С или ещё каких-либо функций для каких-либо других языков обсуждать в разделе С++ как минимум нелогично и дезинформирует авторов тем. прошу Вас мне не отвечать - Ваше мнение мне неинтересно.

0
Диссидент
Эксперт C
27180 / 16939 / 3743
Регистрация: 24.12.2010
Сообщений: 38,116
26.04.2018, 14:38 8
Цитата Сообщение от Yetty Посмотреть сообщение
ещё раз в с++ нет операторов printf, scanf (для ввода-вывода)

Не по теме:

Цитата Сообщение от Yetty Посмотреть сообщение
мне совсем неинтересно вступать с Вами в дискуссии
Взаимно:)
Но на этот раз я тоже делаю исключение. Именно из этих соображений.
Цитата Сообщение от Yetty Посмотреть сообщение
и дезинформирует авторов тем


Хотя в одном вы правы. Таких операторов действительно нет. Ни в С++, ни в чистом С.

Добавлено через 6 минут
Если кто-то мне не верит (об уважаемом Yetty я не говорю, его упертость безгранична), пусть попробует в плясовой программе применить эти функции. Я пробовал неоднократно с неизменным успехом Только не забудьте подключить хедер #include <stdio.h>
0
0 / 0 / 0
Регистрация: 27.11.2016
Сообщений: 12
30.04.2018, 14:25  [ТС] 9
Цитата Сообщение от Байт Посмотреть сообщение
C++
1
2
3
4
int A[N], B[N};
B[0] = B[1] = 0;
for(int i=2; i<N; i++)
  B[i] = B[i-2] + A[i-2];
Добавлено через 1 минуту

Не по теме:

Тот случай, когда решение оказалось короче условия:)

код начинает работать некорректно
Цитата Сообщение от Байт Посмотреть сообщение
B[i] = B[i-2] + A[i-2];
после 5 элемента массива
0
Диссидент
Эксперт C
27180 / 16939 / 3743
Регистрация: 24.12.2010
Сообщений: 38,116
30.04.2018, 22:58 10
Kosh1, То, что я показал, это - псевдокод, то есть идея. Он работать не может, да и не должен. Дальше все зависит от вас. Так покажите, какой именно код у вас не работает.
0
0 / 0 / 0
Регистрация: 27.11.2016
Сообщений: 12
02.05.2018, 15:08  [ТС] 11
Вы меня неправильно поняли! Код работает, но некорректно, так как после 5 элемента нового массива выдаётся бред.
0
Диссидент
Эксперт C
27180 / 16939 / 3743
Регистрация: 24.12.2010
Сообщений: 38,116
02.05.2018, 23:02 12
Kosh1, Простите, я выразился не слишком ясно. так покажите ваш код, который бредит! Я же не могу поставить диагноз только потому, что он бредит с пятого элемента!
0
0 / 0 / 0
Регистрация: 27.11.2016
Сообщений: 12
04.05.2018, 15:06  [ТС] 13
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <string.h>
#include <iostream>
#include <fstream>

using namespace std;
int * Mas(int * A, int * B, int n);

void outputMas(const int N, int *mas) {
for (int i = 0; i < N; i++) {
printf("element[%d]=%d\n", i+1, mas[i]);
}
}
int* inputMas(const int N) {
int *mas;
mas = new int [N];
if (mas == NULL)
return NULL;
for (int i = 0; i < N; i++) {
printf("element[%d] - ", i+1 );
scanf("%d", &mas[i]);
}
return mas;
}

void saveMas(const int n, int * mas ,ostream &f) {

f«"Array"«endl;
for(int i=0; i<n; i++)
f «i«";"«mas[i]«endl;

}
int * Mas(int * A, int * B, int n)
{
B[0] = B[1] = 0;
for(int i=2; i<n; i++) {
B[i] = B[i-2] +A[i]; }
return B;
}

int main ()
{
printf("L.r. 2.3 Zolotov A. gr 6166 variant 8\n");
printf("***************************************\n" );
setlocale(LC_ALL,"RUSSIAN");
int n=0;
int *B = inputMas(n);//создание B
printf("Введите количество элементов массива А:");
scanf_s("%d",&n);
printf("\n");

B=new int [n];
if ( n == NULL ) {
printf("Не удалось выделить память");
return 1;
}
printf("Масcив А состоит из %d элементов введите их:\n",n);

int *A = inputMas(n);//ввод массива А
if (A == NULL) {
printf("memory error");
return 1;
}
printf("Начальный массив А:\n");
outputMas(n, A); //вывод А
B=Mas(A,B,n);
printf ("Полученный массив В:\n");
outputMas(n, B);//вывод B

ofstream fout("C:\\massiv.csv");
fout«"Array A"«endl;
saveMas(n, A, fout);
fout«"Array B"«endl;
saveMas(n, B, fout);
fout.close();
delete [] A;
delete [] B;
getch();
}
0
Диссидент
Эксперт C
27180 / 16939 / 3743
Регистрация: 24.12.2010
Сообщений: 38,116
04.05.2018, 22:41 14
Цитата Сообщение от Kosh1 Посмотреть сообщение
int *B = inputMas(n);//создание B
А это зачем?
Да, вообще бреда в вашем коде вполне достаточно. Простите, но сегодня мне его разбирать недосуг. Я вам в посте 2 дал основную идею (4 строки). Она по идее должна работать. А уж дальше - дело ваше.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2018, 22:41
Помогаю со студенческими работами здесь

Установить 0 в 5-м бите всех эл массива целых чисел с четным индексом и 1 - в 4-м бите всех нечетных эл массива.
Установить 0 в 5-м бите всех элементов массива целых чисел с четным индексом и 1 - в 4-м бите всех...

Заменить каждый неположительный элемент массива Х абсолютной величиной элемента массива Y с тем же индексом
Добрый день. Нужно решить задачку: Заменить каждый неположительный элемент массива Х абсолютной...

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

сформируйте и выведите на экран массив из n элементов, где каждый элемент массива равен произведению двух предыдущих и его порядкового номера
1)сформируйте и выведите на экран массив из n элементов, где каждый элемент массива равен...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru