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

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

Войти
Регистрация
Восстановить пароль
 
ЕвгенийH2
0 / 0 / 0
Регистрация: 12.12.2010
Сообщений: 6
#1

Динамические массивы: Вводить с клавиатуры элементы, пока значение не окажется равным сумме уже введенных значений - C++

05.11.2012, 21:24. Просмотров 583. Ответов 2
Метки нет (Все метки)

Здравствуйте, такое задание: "Вводить с клавиатуры элементы одномерного массива до тех пор, пока текущее значение не окажется равным сумме уже введенных значений". Вся проблема в том что нельзя использовать break. С данной функцией все получается, а перенеся условия if break в условия цикла ничего не получается. Вот Код:
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>
#include <stdlib.h>
using namespace std;
int main()
    {
        int *A = (int*) malloc(sizeof(int));
        int Sum = 0, i = 0;
 
        cout << "VVedite elementi massiva. \nVvod zakonchitsya kogda element budet raven summe predidushih.\n\n";
 
        do
            {
                cout << "Vvedite element massiva :";
                cin >> A[i];
                Sum = Sum + A[i];
                i++;
            }
 
        while(A[i] != Sum);
        return 0;
 
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2012, 21:24     Динамические массивы: Вводить с клавиатуры элементы, пока значение не окажется равным сумме уже введенных значений
Посмотрите здесь:

Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 - C++
Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1. Вводить три числа, до тех пор пока...

Вводить массив символов до тех пор, пока два последних введенных символа не будут равны двум первым - C++
Ввод массива символов до тех пор, пока два последних введенных символа не будут равны двум первым введенным символам. Вот мой код,...

Вводить с клавиатуры целые числа пока их сумма меньше 100 - C++
Вводить с клавиатуры целые числа пока их сумма меньше 100 (запоминать введённые числа не требуется), посчитать и вывести на экран...

Вводить с клавиатуры числа до тех пор, пока не будет нажата клавиша <<ESC>> - C++
Задание: Вводить с клавиатуры числа до тех пор, пока не будет нажата клавиша &lt;&lt;ESC&gt;&gt;. На экран вывести кол-во вводимых чисел. #include...

Вводить числа, пока не введен 0, найти мининимальное значение - C++
Вводится ряд чисел. Найти наименьшее число этого ряда. Признак окончания ввода - число 0. Мой код работает с ошибками, да и еще не знаю...

Как используя цикл и массивы вводить с клавиатуры фамилии и имена, и затем выводить их на экран? - C++
Как используя цикл и массивы вводить с клавиатуры фамилии и имена и затем выводить их на экран ? Народ помогите плиз, потому что я ничего...

Для введенных с клавиатуры значений A, B, n, m и X вычислить S - проверить код - C++
Для введенных с клавиатуры значений A, B, n, m и X вычислить S: S=A+\sum_{i=m}^{n}{((x+B)/i)}^{2} Ребят не могли бы сказать всё ли...

Одномерные массивы + указатели (среднее арифметическое чисел, введенных с клавиатуры) - C++
День добрый. В общем не получается у меня запустить эту задачу с помощью указателей: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; ...

Массивы. Определение максимального целого числа из произвольного количества введенных значений - C++
определение максимального целого числа из произвольного количества введенных значений.На каждом цикле ввода нового значения числа...

Найти количество первых целых положительных чисел, сумма которых не превышает S. Значение S вводить с клавиатуры. - C++
Найти количество первых целых положительных чисел, сумма которых не превышает S. Значение S вводить с клавиатуры.

В двухмерном массиве (размеры массива N M и значения его элементов вводить с клавиатуры) найти указанное значение - C++
Тема вот такая ДВУХМЕРНЫЕ ДИНАМИЧЕСКИЕ МАССИВЫ, ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ. Задание: В двухмерном массиве (размеры массива N, M и значения...

Найти количество первых целых положительных чисел, сумма которых не превышает S. Значение S вводить с клавиатуры - C++
Найти количество первых целых положительных чисел, сумма которых не превышает S. Значение S вводить с клавиатуры. желательно попроще и со...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6552 / 5018 / 463
Регистрация: 14.02.2011
Сообщений: 16,739
05.11.2012, 21:39     Динамические массивы: Вводить с клавиатуры элементы, пока значение не окажется равным сумме уже введенных значений #2
Цитата Сообщение от ЕвгенийH2 Посмотреть сообщение
С данной функцией все получается, а перенеся условия if break в условия цикла ничего не получается. Вот Код:
что то не похоже что получается
Цитата Сообщение от ЕвгенийH2 Посмотреть сообщение
Sum = Sum + A[i];
Цитата Сообщение от ЕвгенийH2 Посмотреть сообщение
while(A[i] != Sum);
всегда будет не равна (если конечно мы не загоняем 0)
можно попробовать так
C++
1
2
3
4
5
6
7
8
9
10
11
12
cout << "Vvedite element massiva :";
 
int tmp=0;
  cin >> tmp;
    while(tmp != Sum)  
         {
              A[i]=tmp;  
               cout << "Vvedite element massiva :";
                cin >> tmp;
                Sum = Sum + A[i];
                i++;
            };
далее ты выделяешь память под
один инт
Цитата Сообщение от ЕвгенийH2 Посмотреть сообщение
int *A = (int*) malloc(sizeof(int));
куда ты лезешь

Цитата Сообщение от ЕвгенийH2 Посмотреть сообщение
cin >> A[i];
надо перераспределять память
C
1
A =realloc(A,sizeof(int)*(i+1))
http://www.codenet.ru/progr/cpp/sprd/realloc.php
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
05.11.2012, 21:45     Динамические массивы: Вводить с клавиатуры элементы, пока значение не окажется равным сумме уже введенных значений #3
Странное задание, первое же число, по идеи должно оказываться суммой уже введенных.
По коду у тебя ошибка в том, что ты сравниваешь сумму с не существующим числом, ты увеличиваешь i и только потом сравниваешь, надо наоборот сначала сравнивать потом увеличивать i.
Ответ Создать тему
Опции темы

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