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

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

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

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

18.01.2011, 18:09. Просмотров 397. Ответов 6
Метки нет (Все метки)

Здравствуйте! Помогите пожалуйста написать программу на Си.Написать и протестировать функцию, которая по заданному натуральному числу определяет количество цифр и сумму цифр на нечетных местах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2011, 18:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Фунции на С. (C++):

Ссылка на элементы фунции мэин , в дополнительной фунции - C++
Вот собственно код . #include <iostream> #include <vector> using namespace std; void dfs(int i) { ...

параметры фунции - C++
вот у меня возник вопрос,например фунция printf,сколько имеет параметров? может у меня такой код printf("%d, %d, %d, %d, %d",...

Поиск в фунции - C++
Я решила написать поиск минимального в функции с указателями: так у меня работает: int minVal(int a, int b) { int min = a; if...

Фунции-процедуры. - C++
Якось не зручно у Вас ще раз просити допомоги, але попалась для мого мозга заскладна програма: Оформити обчислення значення інтегральної...

Вычислить значение фунции - C++
Здравствуйте! Условие задачи: Пусть, например, дана ф-ция f = a{x}^{2}+bx+c, где a, b, c -действительные числа. Ф-ция f должна...

Вызов шаблонной фунции - C++
T pow (int T, int n_) { if (!n_) return 1; T x = x_ ; int n = n_; do { n--; x *= x;

6
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;
}
}
0
kulisk
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 8
18.01.2011, 22:50  [ТС] #3
Спасибо, а можно как-нибудь попроще?
0
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;
0
romedal
54 / 54 / 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;
}
0
kulisk
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 8
18.01.2011, 22:59  [ТС] #6
Нужно число брать не как строку.Как количество цифр в числе считать мне понятно, а как вычислять сумму цифр, стоящих на нечетных местах я не знаю. Помогите пожалуйста.
0
romedal
54 / 54 / 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;
Надо ж на С
1
18.01.2011, 23:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2011, 23:04
Привет! Вот еще темы с ответами:

Двумерный массив и фунции - C++
Нужно передать двумерний массив с одного класса в другой. Об'явление: int matrixBusyCells; Создаю метод для его передачи: ...

Фунции sin и cos - C++
Здравствуйте. Начал писать игру, аналог знаменитых Tank Wars. При использовании библиотечных(math.h) функций sin и cos появилась...

Как вернуть значение из фунции в переменную - C++
У меня так получается, что ввод в фу-ции не осуществляется. То есть a=0 b=0 c=0, так это и остаётся, cin в фу-ции вообще не дзаносит...

Найти макисмальное значение фунции в интервале от 9 до 11 - C++
Сам разбираюсь в паскале. Пытался разобраться в с++ но пока очень печально получается. ) Надо сделать 2 программы в консольном...


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

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

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