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

программа ,которая выводит числа на экран в словесной форме - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ помогите пожалуйста подправить код http://www.cyberforum.ru/cpp-beginners/thread20329.html
C++.Нужно удалить элемент из массива.Выдает ошибку - : error C2105: '--' needs l-value .Подскажить что не так,а то я еще в этом "баран":(. { const int n=5; int a={3,2,7,4,5},i=0; int m; cout<<"\n m=";cin>>m; for (i=m;i<n-1;i++) { a=a;n--;
C++ Ошибка error C2070: 'unsigned int': illegal sizeof operand Собственно, есть пара вопросов (смотреть в комментариях). Помогите разобраться пожалуйста Заранее спасибо Всем Пример части кода: #include<iostream> using std::cin; using std::cout; http://www.cyberforum.ru/cpp-beginners/thread20323.html
Запутался с циклами C++
хочу что подпрограмка при вводе m=6 выводила 0123 0124 0125 0134 0135 ...
C++ (char)xx и '\xx' - в чём разница?
День добрый. Просто любопытно, почему cout << (char)число; и cout << '\число'; часто дают разный результат?
C++ Опять завал!!! http://www.cyberforum.ru/cpp-beginners/thread20294.html
Данна матрица А нужно переписать ее в матрицу В так, чтобы сначала были все положительные числа, а потом все отрицательные, матрицу задать через random.:wall::wall::wall:
C++ Найти максимальный по площади выпуклый четырехугольник, который можно организовать из точек на плоскости В двухмерном пространстве задается некоторое количество точек . Нужно найти максимальный по площади выпуклый четырехугольник, которых из этих точек можно организовать. з.ы. буду очень благодарен если откликнитесь...если можно хотя бы какую нибудь литературу посоветуйте... подробнее

Показать сообщение отдельно
GalaX
 Аватар для GalaX
696 / 568 / 21
Регистрация: 18.11.2008
Сообщений: 2,152
07.01.2009, 05:11     программа ,которая выводит числа на экран в словесной форме
нафигачил тут класс на пхп... си++ незнаю, но задача была интересная, поэтому полез в пхп
написано конечно не сказать что красиво (сам запутался в этом коде), но вроде работает:
PHP
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
$c = new CHISLO;
echo $c->get_chislo( 1151891 );
 
class CHISLO {
    private $arr = array('', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять',
                         'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать',
                         'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать');
    private $arr2 = array('', 'сто', 'двести', 'триста', 'четыреста');
    private $ar = array(
        1=>array('тысяч', 'тысяча', 'тысячи', 'тысячи', 'тысячи', 'тысяч', 'тысяч', 'тысяч', 'тысяч', 'тысяч'),
        array('миллионов', 'миллион', 'миллиона', 'миллиона', 'миллиона', 'миллионов', 'миллионов',
              'миллионов', 'миллионов', 'миллионов'),
        array('миллиардов', 'миллиард', 'миллиарда', 'миллиарда', 'миллиарда', 'миллиардов', 'миллиардов',
              'миллиардов', 'миллиардов', 'миллиардов'),
        array('триллионов', 'триллион', 'триллиона', 'триллиона', 'триллиона', 'триллионов', 'триллионов',
              'триллионов', 'триллионов', 'триллионов')
    );
 
    public function get_chislo($ch) {
        if( $ch<1000 )
            return $this->get_100($ch);
        $ch = preg_split('/(?=(\d{3})+(?!\d))/is', $ch, -1, PREG_SPLIT_NO_EMPTY);
        $ch = array_reverse($ch);
        $result[] = $this->get_100($ch[0]);
        for($i=1; $i<count($ch); $i++) {
            @$result[] = $this->get_100($ch[$i]) .' '. $this->ar[$i]{$ch[$i]%10};
        }
        $result[1] = str_replace('один', 'одна', $result[1]);
        $result[1] = str_replace('два', 'две', $result[1]);
        return join(' ', array_reverse($result));
    }
    private function get_100($ch) {
        $c1 = (int)($ch / 100);
        $c2 = $ch % 100;
        if( $c1<5 )
            $result = $this->arr2[$c1];
        else 
            $result = $this->arr[$c1] . 'сот';
        return @$result .' '. $this->get_10($c2);
    }
    private function get_10($ch) {
        $c1 = (int)($ch / 10);
        $c2 = $ch % 10;
        if( $ch<20 ) {
            $result = $this->arr[$ch];
        } else if( $ch<40 ) {
            $result = $this->arr[$c1] . 'дцать';
        } else if( $ch<50 ) {
            $result = 'сорок';
        } else if( $ch<90 ) {
            $result = substr( $this->arr[$c1], 0, -1 ) . 'десят';
        } else if( $ch<100 ) {
            $result = 'девяносто';
        }
        if( $ch>20 && $c2!=0 )
            $result .= ' ' . $this->arr[$c2];
        return $result;
    }
}
 
Текущее время: 05:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru