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

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

Войти
Регистрация
Восстановить пароль
 
Fresh128
Сообщений: n/a
#1

Написать функцию SUM (int M, int N) / С++ для начинающих - C++

06.03.2014, 18:49. Просмотров 506. Ответов 8
Метки нет (Все метки)

Написать функцию SUM (int M, int N), которая вычисляет и возвращает сумму всех чисел кратных 3 и 9 в пределах от M и N включительно . Использовать оператор цикла с параметром.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2014, 18:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать функцию SUM (int M, int N) / С++ для начинающих (C++):

Написать функцию типа Beaty(int iA, int iB, int *pc) - C++
Задание: Написать функцию типа Beaty(int iA, int iB, int *pc); для выражения (iA+iB)/(iA*iB). Помогите решить!

Напишите функцию f(int& m1, int& m0, int N), которая воз- вращает первую и последнюю цифры двузначного натурального числа N - C++
Напишите функцию f(int& m1, int& m0, int N), которая воз- вращает первую и последнюю цифры двузначного натурального числа N. Решение. ...

Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec - C++
Вот есть заголовочный файл // Заголовочный файл Vector.h #ifndef VECTOR_H #define VECTOR_H #include &lt;iostream&gt; using...

Дано натуральное число N. Напишите функцию int NumberOfZeroes(int n) (C/C++/Java) - C++
Дано натуральное число N. Напишите функцию int NumberOfZeroes(int n) (C/C++/Java), function NumberOfZeroes(n: longint): integer (Pascal),...

Как передать 0 в функцию типа f (int, int&) - C++
Подскажите, почему при повторных вызовах f остается предыдущее значение S? Т.е. не обнуляется в теле f - {...s=0...} и как его обнулить?...

Используя перегрузки, написать функцию для выполнения действий, для следующих типов данных: float, int, double - C++
Используя перегрузки, написать функцию для выполнения действий, для следующих типов данных float, int, double, long: приведение типов.

8
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
06.03.2014, 18:58 #2
Fresh128, если кратны 9 то и кратны 3, может всё-таки или?
C++
1
2
3
4
5
6
7
8
int SUM(int M, int N)
{
    int sum = 0;
    for(; M <= N; M++)
        if(!(M % 3) || !(M % 9))
            sum += M;
    return sum;
}
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
07.03.2014, 00:20 #3
Цитата Сообщение от GuGo1991 Посмотреть сообщение
for(; M <= N; M++)
В идеале так не пишут. Тут нужна как минимум проверка еще этого диапозона.
0
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
07.03.2014, 16:05 #4
go, M <= N проверяется же. Можно было бы и так:
C++
1
for(int i = M; i <= N; i++)
Но по сути же одно и то же
0
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,919
07.03.2014, 16:16 #5
Цитата Сообщение от GuGo1991 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
int SUM(int M, int N)
{
 int sum = 0;
   for(; M <= N; M++)
     if(!(M % 3) || !(M % 9))
     sum += M;
return sum;
}
слишком много пустых проходов
C++
1
if(!(M % 3) || !(M % 9))
вторая проверка бессмысленна если кратна 3 то и кратна 9

вот так будет побыстрее
C++
1
2
3
4
5
6
7
8
9
10
int SUM(int M,int N)
{
int sum=0;
while(M%3)// догоняем до кратного 3
  M++;
for(;M<=N;M+=3)
  sum+=M;
 
return sum;
}
если кратна трем но не кратна девяти( что то мне подсказывает что так и должно звучать)
C++
1
2
3
4
5
6
7
8
9
10
11
int SUM(int M,int N)
{
int sum=0;
while(M%3)// догоняем до кратного 3
  M++;
for(;M<=N;M+=3)
  if(M%9)
     sum+=M;
 
return sum;
}
Добавлено через 1 минуту
Цитата Сообщение от go Посмотреть сообщение
В идеале так не пишут. Тут нужна как минимум проверка еще этого диапозона.
в смысле?
какого диапазона?
1
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
07.03.2014, 16:51 #6
Цитата Сообщение от ValeryS Посмотреть сообщение
вторая проверка бессмысленна если кратна 3 то и кратна 9
Как раз наоборот, если кратно 9 то и кратно 3. В прочем, я поэтому и переспросил Fresh128,
как-то глупо звучит условие задания, так как только кратные 3 и 9 будут числа кратные 9

Добавлено через 17 минут
Цитата Сообщение от ValeryS Посмотреть сообщение
слишком много пустых проходов
Согласен, сразу не подумал )
0
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,919
07.03.2014, 16:57 #7
Цитата Сообщение от GuGo1991 Посмотреть сообщение
Как раз наоборот, если кратно 9 то и кратно 3.
ну это с точки зрения математики, а с точки зрения програмирования
C++
1
if(!(M % 3) || !(M % 9))
!(M % 3) истина
смысла проверять !(M % 9) уже нету

Добавлено через 2 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
смысла проверять !(M % 9) уже нету
а самое смешное что и не будет проверятся
при ИЛИ если первое условие истина то второе просто не проверяется
1
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
07.03.2014, 18:00 #8
ValeryS, да, да, сглупил на ровном месте
0
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,919
07.03.2014, 18:22 #9
GuGo1991,
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2014, 18:22
Привет! Вот еще темы с ответами:

Ошибка при компиляции error: cannot convert ‘int (*)[5]’ to ‘int**’ for argument ‘1’ to ‘void Replase(int**)' - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; #define row 5 #define col 5 using namespace...

В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.? - C++
Не понимаю, с чего начинать. Заранее спс.

Написать функции для преобразования IP адреса из dot-decimal нотации в int и из int в dot-decimal нотацию - C++
IP-адрес - это четверка a.b.c.d, где a, b, c, d целые числа из интервала . Требуется написать функции encode и decode: unsigned int...

int main() и int _tmain(int argc, _TCHAR* argv[]) - C++
При создании нового консольного приложения Microsoft Visual С++ 2010 Express создает начальный шаблон #include &quot;stdafx.h&quot; int...


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

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
07.03.2014, 18:22
Ответ Создать тему
Опции темы

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