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

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

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

разработка нерекурсивных функций. - C++

04.01.2012, 13:35. Просмотров 1024. Ответов 5
Метки нет (Все метки)

Здравствуйте, задание таково - разработать функцию, которая для каждого заданного натурального числа N возвращает значение true - если число простое, false - составное, с помощью этой функции: для каждого целого числа на отрезке [a,b] вывести на экран сумму его цифр.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
using namespace std;
int s(int x);
 
int main() {
int a =10;
int b = 30;
int i;
 
for (i = a; i < b + 1; ++i) {
    printf("%d, ", s(i));
}
printf("\n");
return 0;
}
int s(int x){
    int s = 0;
    while (x){
        s+= x % 10;
        x/=10;
    }
    return s;
}
Вот, что напечатала, прошу посмотрите, если что не так, скажите:
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2012, 13:35     разработка нерекурсивных функций.
Посмотрите здесь:

Разработка класса C++
Разработка динамических структур данных и функций их обработки C++
C++ Разработка и отладка алгоритмов и программ с применением пользовательских функций
C++ разработка нерекурсивных функций
C++ Разработка нерекурсивных функций
Разработка с++ в netbeans C++
Разработка класса C++
C++ разработка нерекурсивных функций
C++ Разработка и отладка алгоритмов и программ с применением пользовательских функций
Связка структур, разработка функций C++
C++ Разработка нерекурсивных функций
Разработка простейших функций C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
04.01.2012, 13:59     разработка нерекурсивных функций. #2
Цитата Сообщение от PrettyNya Посмотреть сообщение
разработка нерекурсивных функций.
Цитата Сообщение от PrettyNya Посмотреть сообщение
разработать функцию, которая для каждого заданного натурального числа N возвращает значение true - если число простое, false - составное,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
bool simple (size_t n)
{
   for ( int i = 2 ; i <= n / 2 ; ++i )
      if (  ! (n % i)  ) 
         return false;
   return true;
}      
 
int main ()
{
   size_t SimpleTrue = 3 , SimpleFalse = 4;
   std::cout << std::boolalpha << simple (SimpleTrue) << " " << simple (SimpleFalse) << std::endl;
}
http://liveworkspace.org/code/3e71d9...436a0a6ccdd338

Цитата Сообщение от PrettyNya Посмотреть сообщение
с помощью этой функции: для каждого целого числа на отрезке [a,b] вывести на экран сумму его цифр.
А при чем здесь эта функция?
PrettyNya
0 / 0 / 0
Регистрация: 04.01.2012
Сообщений: 12
04.01.2012, 14:08  [ТС]     разработка нерекурсивных функций. #3
Цитата Сообщение от go Посмотреть сообщение
А при чем здесь эта функция?
Не понимаю вашего вопроса, уточните.
Хотя нет, поняла. Я скопировал текст для другого задания
Для нужного мне: разработать функцию, которая для заданного натурального числа N возвращает сумму его цифр. С помощью данной функции: для каждого целого числа на отрезке [a,b] вывести на экран сумму его цифр.
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
04.01.2012, 14:16     разработка нерекурсивных функций. #4
Цитата Сообщение от PrettyNya Посмотреть сообщение
разработать функцию, которая для заданного натурального числа N возвращает сумму его цифр. С помощью данной функции: для каждого целого числа на отрезке [a,b] вывести на экран сумму его цифр.
C++
1
2
3
4
size_t digsum ( int n )
{
    return n < 0 ? digsum ( -n ) : ( n > 9 ) ? n % 10 + digsum (n / 10) : n;
}
PrettyNya
0 / 0 / 0
Регистрация: 04.01.2012
Сообщений: 12
04.01.2012, 14:19  [ТС]     разработка нерекурсивных функций. #5
Спасибо, но для меня новичка и такой код сложен, поэтому буду рада, если поясните его.
Особено вот это

Цитата Сообщение от go Посмотреть сообщение
digsum ( -n ) : ( n > 9 )
Тут предполагается, что если принадлежит циферному промежутку? почему тгда -n?
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
04.01.2012, 14:21     разработка нерекурсивных функций. #6
Цитата Сообщение от PrettyNya Посмотреть сообщение
Тут предполагается, что если принадлежит циферному промежутку? почему тгда -n?
Да (проверяем одна ли цифра в числе). Но в начале, Если число отрицательное, то меняем знак. Вот поэтому -n
Yandex
Объявления
04.01.2012, 14:21     разработка нерекурсивных функций.
Ответ Создать тему
Опции темы

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