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

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

Войти
Регистрация
Восстановить пароль
 
jock
2 / 2 / 0
Регистрация: 29.10.2011
Сообщений: 38
#1

Циклы - C++

22.11.2011, 00:28. Просмотров 373. Ответов 3
Метки нет (Все метки)

Дано целое число а. Вывести все числа в диапазоне от 0 до а, которые делятся без остатка на 3, и сумму этих чисел. а вводит пользователь, и а меньше или равно 100.
Я так понял можно использовать любые циклы.
Вот мои попытки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int main()
{
    int a;
    cout<<"Vvedite chislo:\n";
    cin>>a;
    while (a%3==0)
    {
        if (a<=100)
        {
            a++;
            a+a;
        }
    cout<<a;
    }
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2011, 00:28     Циклы
Посмотрите здесь:

Заменить в коде циклы for на циклы while - C++
int i, j, n; bool a; cin &gt;&gt; i &gt;&gt; n; for (i; i&lt;n; i++) { a = true; for (j = 2; j &lt;= i / 2; j++) if ((i%j) == 0) a =...

Циклы - C++
В последовательности целых положительных чисел определить максимальное четное число и его порядковый номер. За раннее спасибо)

Циклы в С++ - C++
1) Начав тренировки, спортсмен пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь...

Циклы - C++
Разработать консольную программу в C++, для нахождения значения Y, с использованием операторов цикла с параметром, цикла с предусловием,...

Циклы - C++
Как написать программу, в которой нужно сложить значения получаемые в цикле? z=sin(\sum_{3}^{10}(a*k+c)) a,c известны

Циклы (1/2*2/3*3/4.(n-1)/n) - C++
Всем доброго времени суток. Подскажите как правильно написать цикл для поставленной задачи? Сама задача:

Циклы - C++
Пожалуйста помогите решить задачу по С++! Вообще не понимаю в этом.... Задача состоит в следующем- Дано начальное число n=... и конечное...

На циклы do while - C++
даны два действительных числа а1,а2,... . Известно, что а1&gt;0 и что среди а2,а3,... есть хотя бы одно отрицательное число. Пусть а1,...,аn -...

Циклы - C++
если честно, даже сам не знаю что нужно сделать с этой формулой. У читель тал текст, сказал написать на С++ с использованием циклов) ...

Циклы - C++
Вычислить сумму квадратов всех положительных значений функции. Определить, для которого функция приобретает минимального значения. f(x)=...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
22.11.2011, 00:38     Циклы #2
Цитата Сообщение от jock Посмотреть сообщение
Дано целое число а. Вывести все числа в диапазоне от 0 до а, которые делятся без остатка на 3, и сумму этих чисел. а вводит пользователь, и а меньше или равно 100.
Я так понял можно использовать любые циклы.
Вот мои попытки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int main()
{
    int a;
    cout<<"Vvedite chislo:\n";
    cin>>a;
    while (a%3==0)
    {
        if (a<=100)
        {
            a++;
            a+a;
        }
    cout<<a;
    }
return 0;
}
У вас сразу же в коде встречается ошибка, так как само введенное число не обязано делиться на 3! И кроме того у вас непонятный код в теле цикла с увеличением значения переменной a и ее сложения самой с собой.

Должно быть

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
#include <iostream>
 
using namespace std;
 
int main()
{
   const int max_value = 100;
   int a;
 
   cout << "Vvedite chislo:\n";
   cin >> a;
 
   if ( max_value < a  ) a = max_value;
 
   int sum = 0;
 
   while ( a != 0)
   {
      if ( a % 3 == 0 )
      {
         cout << a << ' ';
         sum += a;
      }
      --a;
   }
 
   cout << "sum = " << sum << std::endl;
 
   return 0;
}
jock
2 / 2 / 0
Регистрация: 29.10.2011
Сообщений: 38
22.11.2011, 00:45  [ТС]     Циклы #3
Спасибо за помощь
Сыроежка
Заблокирован
22.11.2011, 00:49     Циклы #4
Цитата Сообщение от jock Посмотреть сообщение
Спасибо за помощь
Только я не обратил сразу же внимание, но вам следует везде тип int в объявлениях переменных поменять на тип unsigned int. Иначе пользователь может ввести отрицательное число, и алгоритм будет работать не так, как ожидается.
Yandex
Объявления
22.11.2011, 00:49     Циклы
Ответ Создать тему
Опции темы

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