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

Массив. Сумма элемента и всех ему предшествующих

13.10.2024, 22:30. Показов 1871. Ответов 21

Студворк — интернет-сервис помощи студентам
Добрый вечер! Помогите решить задачу, пожалуйста!
Задача:Дан массив из 20 элементов. Массив заполняется с клавиатуры. Вывести массив на экран. Элемент массива, равный заданному числу Х (значение вводится с клавиатуры), поменять на сумму значений этого элемента и всех предшествующих ему элементов. Вывести на экран полученный массив. Найти и вывести на экран минимальный элемент массива и его индекс.
Написал следующий код(для простоты пока взял 5 элементов, чтобы меньше вводить чисел), но он не работает корректно, если в массиве введенному числу Х соответствует несколько элементов. Что нужно исправить/дополнить, чтобы в новом массиве каждому элементу соответствовала именно сумма этого элемента и всех ему предшествующих, если таковых элементов несколько?
Вот код:
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
#include <stdlib.h>
#include <iostream>
using namespace std;
int main()
{
    setlocale(0,"");
    int i, x, k, sum, min, min_index,n=5;
    int a[5];
    int b[5];
        cout << "Введите элементы массива" << endl;
        for (i = 0; i < n; i++)
        {
            cout << "a[ "<< i <<" ]=";
                cin >> a[i];
        }
        cout << "Полученный массив" << endl;
        for (i = 0; i < n; i++)
        {
            cout << "a[ " << i << " ]=" <<a[i]<<endl;
        }
        cout << "Введите X=";
        cin >> x;
        for (i = 0; i <n ; i++) 
        {
            if (x == a[i])
            {
                k = i;
                cout << "Индекс элемента массива, значение которого равно X:" << k << endl;
            }
                }
        sum = 0;
        for (i = 0; i <= k; i++)
        {
            sum += a[i];}
                cout << "sum=" << sum << endl;
        for (i = 0; i < n; i++)
        {
            if (x!= a[i])
            {
                b[i] = a[i];
            }
            else
            {b[i] = sum;
            }
            cout << "b[ " << i << " ]=" << b[i] <<endl;
        }
        min =b[0]; min_index = 0;
        for (i = 0; i < n; i++)
        {
            if (b[i] < min)
            {
                min = b[i];
                min_index = i;
            }
            cout << "Минимальное значение элемента в новом массиве -" << min << endl;
            cout << "Индекс элемента с минимальным значением - " << min_index << endl;
            return 0;
            system("pause");
        }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.10.2024, 22:30
Ответы с готовыми решениями:

Массив:Найти номер первого отрицательного элемента вектора и сумму предшествующих ему элементов
Дан вектор действительных чисел Y(y1,y2,..,y8).Найти номер первого отрицательного элемента вектора и сумму предшествующих ему элементов. с#...

Массив:Найти номер первого отрицательного элемента вектора и сумму предшествующих ему элементов
Дан вектор действительных чисел Y(y1,y2,..,y8).Найти номер первого отрицательного элемента вектора и сумму предшествующих ему элементов....

Найти номер последнего нечетного элемента и произведение элементов, предшествующих ему
Задание 3. Даны натуральное число n. целые числа a1 .... an. Найти номер последнего нечетного члена последовательности а1 ... аn и...

21
 Аватар для КРАСНЫЙ КОТ
17 / 12 / 7
Регистрация: 22.11.2022
Сообщений: 54
15.10.2024, 00:11
Студворк — интернет-сервис помощи студентам
Artsem_1990, доработка моего кода на вывод индексов еще нужна?
0
0 / 0 / 0
Регистрация: 13.10.2024
Сообщений: 12
15.10.2024, 00:16  [ТС]
КРАСНЫЙ КОТ, нет, спасибо большое, уже сам дописал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.10.2024, 00:16

Замените каждый элемент массива средним арифметическим всех предшествующих ему
//Замените каждый элемент массива средним арифметическим всех предшествующих ему // Почти решил, но Выходят только первые 2 элемента,...

Найти номер первого нулевого элемента массива и сумму элементов предшествующих ему
найти номер первого нулевого элемента массива х1,х2,...,х20 и сумму элементов предшествующих ему

Найти номер первого нулевого элемента массива и сумму элементов, предшествующих ему
1. В массиве из 12 действительных чисел найти номер первого нулевого элемента и сумму элементов предшествующих ему. Ввод элементов...

Найти номер первого нулевого элемента массива х(20) и сумму элементов, предшествующих ему
Найти номер первого нулевого элемента массива х(20) и сумму элементов, предшествующих ему. на С++

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


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

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

Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru