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

Функции - C++

Войти
Регистрация
Восстановить пароль
 
Merzul
0 / 0 / 0
Регистрация: 21.01.2011
Сообщений: 16
28.10.2011, 11:05     Функции #1
Только начинаю осваивать С++ и прошу вас помочь дополнить программу.
Задача : Составить программу, определяющую, в каком из данных двух чисел больше цифр.
//Не пойму как обращатся с счетчиками.

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
#include "stdafx.h"
#include "iostream"
#include "conio.h"
 
using namespace std;
int viborka(int a, int b)
    {
        int x;
        while (a!=0)
        {
            a=a%10;
            a=a/10;
            x++;
        }
        int z;
        while (b!=0)
        {
            b=b%10;
            b=b/10;
            z++;
        }
        return x,z;
    }
int main()
{
    setlocale (LC_ALL,"RUSSIAN");
    int a,b,x,z;
    cout<<"Введите 2 числа \n";
    cin>>a>>b;
    viborka(a,b);
    if (x>z) cout<<"В первом числе больше цифр";
    else cout<<"Во втором числе больше цифр";
    getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
28.10.2011, 11:16     Функции #2
Во-первых
C++
1
2
#include <iostream>
#include <conio.h>
Во-вторых
C++
1
2
3
if (x>z) cout<<"В первом числе больше цифр";
else if (x<z) cout<<"Во втором числе больше цифр";
else cout<<"Одинаково";
В-третьих функция должна возвращать 1 значение
C++
1
return x,z;
Добавлено через 2 минуты
Как вариант
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
int viborka(int a)
        {
                int x;
                while (a!=0)
                {
                        a=a%10;
                        a=a/10;
                        x++;
                }
                return x;
        }
int main()
{
        setlocale (LC_ALL,"RUSSIAN");
        int a,b,x,z;
        cout<<"Ââåäèòå 2 Г·ГЁГ±Г«Г* \n";
        cin>>a>>b;
        x=viborka(a);
        z=viborka(b);
        if (x>z) cout<<"Г‚ ïåðâîì ÷èñëå áîëüøå öèôð";
        else if (x<z) cout<<"Âî âòîðîì ÷èñëå áîëüøå öèôð";
        else cout<<"ÎäèГ*Г*êîâî";
        getch();
}
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
28.10.2011, 11:21     Функции #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int n_max(int a, int b) {
    int i, n1, n2;
    for(n1 = 0, i = a; i > 0; i /= 10, n1++);
    for(n2 = 0, i = b; i > 0; i /= 10, n2++);
    return (n1 > n2) ? a : b;
}
 
int main(void) {
    int a,b;
    cout<<"Введите 2 числа \n";
    cin>> a >> b;
 
    if(n_max(a, b) == a)
          cout << "В первом числе больше цифр" << endl;
    else 
          cout << "Во втором числе больше цифр" << endl;
    return 0;
}
Merzul
0 / 0 / 0
Регистрация: 21.01.2011
Сообщений: 16
28.10.2011, 15:53  [ТС]     Функции #4
Цитата Сообщение от mimicria Посмотреть сообщение
Во-первых
Код C++1
2 #include <iostream>
#include <conio.h>
Ошибка при <> . Видимо версии разные просто.

Цитата Сообщение от mimicria Посмотреть сообщение
Во-вторых
Код C++1
2
3 if (x>z) cout<<"В первом числе больше цифр";
else if (x<z) cout<<"Во втором числе больше цифр";
else cout<<"Одинаково";
согласен... не учел при одинаковых значениях.
Спасибо за разъяснения.

Добавлено через 3 минуты
Цитата Сообщение от xAtom Посмотреть сообщение
return (n1 > n2) ? a : b;
можно пояснить строчку, что делает?
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
28.10.2011, 15:55     Функции #5
Цитата Сообщение от Merzul Посмотреть сообщение
return (n1 > n2) ? a : b;
можно пояснить строчку, что делает?
Эту строчку можно расписать так:
C++
1
2
if (n1 > n2) return a; 
else return b;
Merzul
0 / 0 / 0
Регистрация: 21.01.2011
Сообщений: 16
28.10.2011, 15:58  [ТС]     Функции #6
Спасибо
Yandex
Объявления
28.10.2011, 15:58     Функции
Ответ Создать тему
Опции темы

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