0 / 0 / 0
Регистрация: 27.11.2016
Сообщений: 12
|
|
1 | |
Записать в каждый элемент массива с четным индексом сумму всех предыдущих элементов исходного массива25.04.2018, 19:06. Показов 3325. Ответов 13
Метки нет (Все метки)
Дан одномерный массив целых чисел А. Создать новый массив В, занеся в каждый
элемент с четным индексом сумму всех предыдущих элементов массива А с четными индексами, в элемент с нечетным – сумму предыдущих элементов массива А с нечетными индексами (в первый и второй элементы заносится значение 0). Подсчет суммы предыдущих реализуется в виде функции.(функции допишу самостоятельно, помогите с телом программы). Ввод/вывод значений осуществляется через printf/scanf (Т.к. я новичок в этом, комментариям к строкам буду только рад)
0
|
25.04.2018, 19:06 | |
Ответы с готовыми решениями:
13
Занести в каждый элемент массива минимальный среди всех предыдущих элементов Каждый элемент массива, кроме первого, заменить суммой всех его предыдущих элементов Каждый элемент заданного массива заменить суммой всех предыдущих элементов (нарастающий итог) Создать массив, каждый элемент которого содержит сумму делителей элементов исходного массива |
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
|
|
25.04.2018, 20:53 | 3 |
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
26.04.2018, 02:11 | 5 |
0
|
Yetty
|
26.04.2018, 12:44
#7
|
Не по теме: Байт, мне совсем неинтересно вступать с Вами в дискуссии - зря потраченное время. но на этот раз сделаю исключение. ещё раз в с++ нет операторов printf, scanf (для ввода-вывода). функции других языков программирования, в частности printf, scanf для языка С или ещё каких-либо функций для каких-либо других языков обсуждать в разделе С++ как минимум нелогично и дезинформирует авторов тем. прошу Вас мне не отвечать - Ваше мнение мне неинтересно.
0
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
26.04.2018, 14:38 | 8 |
Не по теме: Взаимно:) Но на этот раз я тоже делаю исключение. Именно из этих соображений. Хотя в одном вы правы. Таких операторов действительно нет. Ни в С++, ни в чистом С. Добавлено через 6 минут Если кто-то мне не верит (об уважаемом Yetty я не говорю, его упертость безгранична), пусть попробует в плясовой программе применить эти функции. Я пробовал неоднократно с неизменным успехом Только не забудьте подключить хедер #include <stdio.h>
0
|
0 / 0 / 0
Регистрация: 27.11.2016
Сообщений: 12
|
|
30.04.2018, 14:25 [ТС] | 9 |
0
|
0 / 0 / 0
Регистрация: 27.11.2016
Сообщений: 12
|
|
02.05.2018, 15:08 [ТС] | 11 |
Вы меня неправильно поняли! Код работает, но некорректно, так как после 5 элемента нового массива выдаётся бред.
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
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
04.05.2018, 22:41 | 14 |
А это зачем?
Да, вообще бреда в вашем коде вполне достаточно. Простите, но сегодня мне его разбирать недосуг. Я вам в посте 2 дал основную идею (4 строки). Она по идее должна работать. А уж дальше - дело ваше.
0
|
04.05.2018, 22:41 | |
04.05.2018, 22:41 | |
Помогаю со студенческими работами здесь
14
Установить 0 в 5-м бите всех эл массива целых чисел с четным индексом и 1 - в 4-м бите всех нечетных эл массива. Заменить каждый неположительный элемент массива Х абсолютной величиной элемента массива Y с тем же индексом Если элемент массива с четным индексом меньше предыдущего - поменять их местами сформируйте и выведите на экран массив из n элементов, где каждый элемент массива равен произведению двух предыдущих и его порядкового номера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |