Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
r00712
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 127
#1

Программирование циклического вычислительного процесса - C++

08.09.2013, 09:42. Просмотров 634. Ответов 11
Метки нет (Все метки)

12. Дан набор ненулевых целых чисел; признак его завершения — число 0. Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в наборе отсутствуют, то вывести 0.
Даже представить не могу, как это можно реализовать средствами С++(вот такой вот я чайник). Хотя бы дайте алгоритм действий или натолкните на нужную мысль
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2013, 09:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программирование циклического вычислительного процесса (C++):

Программирование циклического вычислительного процесса - C++
Напишите пожалуйста программу на С++ Условие звучит так: "Определение количества цифр, в записи целого числа, больше 3 и меньше...

Программирование циклического вычислительного процесса С++ - C++
#include"iostream" #include"math.h" using namespace std; int main() { int n; double y;

Разработка программы циклического вычислительного процесса «Вычисление суммы ряда» - C++
Помогите пожалуйста,буду Вам очень признателен. {e}^{x}=1+\frac{x}{1!}+\frac{{x}^{2}}{2!}+...+\frac{{x}^{n}}{n!}+...

Вычислить значения функции. Программирование разветвляющегося вычислительного процесса. - C++
Помогите сделать лабу по информатике по теме ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩЕГОСЯ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА

Программа разветвляющегося вычислительного процесса - C++
Здравствуйте,не могу найти ошибку в конструкции множественного условного оператора. Задание приложил. И еще вопрос.Если я ввожу пытаюсь...

Не работает программа разветвляющегося вычислительного процесса - C++
Доброго времени суток! Задали написать программу в Visual Studio C++ по таким целям: изучить операцию условия;изучить условный...

11
ValeryS
Модератор
6709 / 5118 / 482
Регистрация: 14.02.2011
Сообщений: 17,206
08.09.2013, 09:54 #2
Цитата Сообщение от r00712 Посмотреть сообщение
Хотя бы дайте алгоритм действий или натолкните на нужную мысль
C++
1
2
3
4
5
6
cin>>i;
while(i)
{
if(i>0 && i%2==0)
  sum+=i;
}
1
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
08.09.2013, 10:06 #3
Если эти числа вводит пользователь, то берёшь две переменные, одной присваиваешь значение 0, в цикле берёшь значение очередного числа, если оно больше нуля и чётное, увеличиваешь первую переменную на это число. Условие выхода из цикла - вторая переменная равна нулю. В первой переменной будет ответ.

Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main() {
   int total = 0, tmp;
   do {
      std::cin >> tmp;
      if (tmp > 0 && tmp % 2 == 0)
         total += tmp;
   } while(tmp);
   std::cout << "Total: " << total << std::endl;
   return 0;
}
1
Catstail
Модератор
22838 / 11204 / 1812
Регистрация: 12.02.2012
Сообщений: 18,444
08.09.2013, 10:51 #4
ValeryS, Ваша мысль понятна, но Ваш код вызовет зацикливание... Чтение числа нужно занести в цикл.
1
r00712
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 127
08.09.2013, 11:03  [ТС] #5
elivin,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
int main() {
int total = 0, tmp;
 
 
   do { 
      std::cin >> tmp;
      if (tmp > 0 && tmp % 2 == 0)
         total += tmp;
   } while(tmp);
   std::cout << "Total: " << total << std::endl;
     getch();
   return 0;
}
Код работает, но считает не правильно В чем моя ошибка?
0
za5
442 / 346 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
08.09.2013, 11:17 #6
C++
1
2
3
4
5
   for(;;){ 
      std::cin >> tmp;
      if (tmp > 0 && tmp % 2 == 0) total += tmp;
      else if (tmp==0) break;
   }
а может и так сработает:
C++
1
for(std::cin >> tmp;tmp!=0;std::cin >> tmp) {if (tmp > 0 && tmp % 2 == 0) total += tmp;}
0
r00712
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 127
08.09.2013, 11:25  [ТС] #7
C++
1
2
3
4
5
6
7
8
9
10
int main() {
int total = 0, tmp;
   do { 
      for(std::cin >> tmp;tmp!=0;std::cin >> tmp) {if (tmp > 0 && tmp % 2 == 0) total += tmp;}
 
   } while(tmp);
   std::cout << "Total: " << total << std::endl;
     getch();
   return 0;
}
Увы, считает он не правильно)
0
za5
442 / 346 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
08.09.2013, 12:43 #8
C++
1
2
3
4
5
6
7
int main() {
   int total = 0, tmp;
   for(std::cin >> tmp;tmp!=0;std::cin >> tmp) {if (tmp > 0 && tmp % 2 == 0) total += tmp;}
   std::cout << "Total: " << total << std::endl;
   getch();
   return 0;
}
1
r00712
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 127
08.09.2013, 14:37  [ТС] #9
za5, работает!!! Очень благодарен
0
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
08.09.2013, 19:55 #10
Странные дела тут творятся. Мой и za5 коды, если не учитывать несущественную в данном случае разницу работы for и do while, можно считать эквивалентными - они выполняют один и тот же алгоритм и оба работают правильно
0
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
08.09.2013, 20:02 #11
Вообще не могу понять читали ли вы задание?
Цитата Сообщение от r00712 Посмотреть сообщение
12. Дан набор ненулевых целых чисел; признак его завершения — число 0. Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в наборе отсутствуют, то вывести 0.
первые два слова: Дан набор, что подразумевает int arr[size] = {...};
Соответственно, работайте с ним, как с массивом:
C++
1
2
for (int i = 0; i < size; ++i)
    summ += ((arr[i] > 0 && arr[i]%2 ==0) ? arr[i] : 0);
0
ValeryS
Модератор
6709 / 5118 / 482
Регистрация: 14.02.2011
Сообщений: 17,206
09.09.2013, 08:20 #12
Цитата Сообщение от Catstail Посмотреть сообщение
Ваша мысль понятна, но Ваш код вызовет зацикливание... Чтение числа нужно занести в цикл.
да заметил я а поправить не смог)время ушло
но меня оправдывает, что это не рабочий код а так зарисовка
1
09.09.2013, 08:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2013, 08:20
Привет! Вот еще темы с ответами:

Задача на составление программы с ветвлением вычислительного процесса - C++
Хай всем)) помогите с программой, точнее с фигурой на плоскости.. Как из фигуры на плоскости выполнить код на с++... Работаю в первый раз...

Отладить программу циклического процесса - C++
Необходимо отладить программу циклического процесса \prod_{K=1}^{N}(1+sin(KX)/K! ...

Составление схем алгоритмов циклического процесса - C++
Приветствую всех. Пользователей. Я Школьник и столкнулся с проблемой. Я Оцутствовал пару занятий *Болел ну ближе к теме. Есть...

Решить прикладную задачу с помощью циклического вычислительного процесса - C++
Помогите решить...Не знаю как... Решить прикладную задачу с помощью циклического вычислительного процесса. Дано натуральное n....


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

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

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