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

Фунции на С. - C++

Восстановить пароль Регистрация
 
kulisk
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 8
18.01.2011, 18:09     Фунции на С. #1
Здравствуйте! Помогите пожалуйста написать программу на Си.Написать и протестировать функцию, которая по заданному натуральному числу определяет количество цифр и сумму цифр на нечетных местах.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M@ker
-73 / 19 / 1
Регистрация: 17.12.2010
Сообщений: 355
18.01.2011, 22:43     Фунции на С. #2
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

// Функция расчитывающая количество чисел во введённом числе...
int Rasriad(int enterNumber)
{
int n = enterNumber,
x = 0;

while(n != 0){
n /= 10;
x++;
}
return x;
}

// Функция тестирования диапазона чисел
void TestDiapason()
{
int lenght = 0,
indexRas,
decimal = 1,
summa = 0,
// значения переменных 'min' и 'max' задают границы диапазона
min = 24, // Нижняя граница диапазона (меняем на нужный)
max = 1248; // Верхняя граница диапазона (меняем на нужный)

for(; min < max; min++){
decimal = 1;
summa = 0;
// определяет количество цифр в нем и их сумму.
lenght = Rasriad(min);

for(int j = 1; j < lenght; j++)
decimal *= 10;

for(int i = 1; i <= lenght; i++){
indexRas = min / decimal % 10;
summa += indexRas;
decimal /= 10;
}
cout<<"\n Summa all numbers '"<<min<<"' = "<<summa<<endl;
}
}
kulisk
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 8
18.01.2011, 22:50  [ТС]     Фунции на С. #3
Спасибо, а можно как-нибудь попроще?
M@ker
-73 / 19 / 1
Регистрация: 17.12.2010
Сообщений: 355
18.01.2011, 22:54     Фунции на С. #4
Цитата Сообщение от kulisk Посмотреть сообщение
Спасибо, а можно как-нибудь попроще?
да здесь и так просто) комментарии есть, разбирайся.

Разве что это
using std::cout;
using std::cin;
using std::endl;

на это
using namespace std;
romedal
 Аватар для romedal
53 / 53 / 1
Регистрация: 18.03.2010
Сообщений: 345
Записей в блоге: 1
18.01.2011, 22:54     Фунции на С. #5
писал в MS Visual Studio 2010
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
31
32
33
34
35
36
37
38
39
40
41
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
 
int main()
{
                int r;  
                char e [] = "";
       int w = 0;
       int y = 0;
                char l;
                
                scanf ("%d",&r);
                itoa (r,e,10);
       int *a = new int [(strlen(e))];
 
       e[(strlen(e))] = '\0';
                
                    
       for (int i =0; i<strlen(e);i++)  
       a[i] = e[i]-'0';
                
       for (int i =0; i<strlen(e);i+=2)
       y+= a[i];
                
                for (int i =1; i<strlen(e);i+=2)
       w += a[i];
                
       printf("kolichestvo cifr  ");
       printf("%d\n", strlen(e));
       printf("summa chetnih elementov  ");
       printf("%d\n", y);
       printf("%d\n", w);
                
 
       _getch();
                return 0;
}
kulisk
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 8
18.01.2011, 22:59  [ТС]     Фунции на С. #6
Нужно число брать не как строку.Как количество цифр в числе считать мне понятно, а как вычислять сумму цифр, стоящих на нечетных местах я не знаю. Помогите пожалуйста.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2011, 23:04     Фунции на С.
Еще ссылки по теме:

Ссылка на элементы фунции мэин , в дополнительной фунции C++
C++ Вызов шаблонной фунции
C++ Двумерный массив и фунции
Поиск в фунции C++
Вычислить значение фунции C++

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

Или воспользуйтесь поиском по форуму:
romedal
 Аватар для romedal
53 / 53 / 1
Регистрация: 18.03.2010
Сообщений: 345
Записей в блоге: 1
18.01.2011, 23:04     Фунции на С. #7
Цитата Сообщение от kulisk Посмотреть сообщение
Нужно число брать не как строку
Вообщето мы берём сначало число как целое число int(смотри scanf("%d",&r)), а потом уже переводим это число в строку, а потом в массив целых чисел

Добавлено через 1 минуту
Цитата Сообщение от kulisk Посмотреть сообщение
а как вычислять сумму цифр, стоящих на нечетных местах я не знаю. Помогите пожалуйста.
for (int i =0; i<strlen(e);i+=2) // Это чётных
y+= a[i];

for (int i =1; i<strlen(e);i+=2) //Это нечётных
w += a[i];

Добавлено через 1 минуту
Цитата Сообщение от M@ker Посмотреть сообщение
да здесь и так просто) комментарии есть, разбирайся.

Разве что это
using std::cout;
using std::cin;
using std::endl;

на это
using namespace std;
Надо ж на С
Yandex
Объявления
18.01.2011, 23:04     Фунции на С.
Ответ Создать тему
Опции темы

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