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

Программа, выводящая прописью чётные числа массива. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заполнение массива стуктур http://www.cyberforum.ru/cpp-beginners/thread227969.html
Мне надо ввести в массив структур фамилии и инициалы студентов (с использованием пробелов). Пытаюсь воспользоваться функцией cin.getline, но не получается. Если вводить через cin, то всё норм. Почему так? Вот код // Задание 6.1 Описать структуру с именем STUDENT, содержащую следующие поля: фамилия и инициалы, // номер группы и успеваемость (массив из 5 элементов). Написать программу выполняющие...
C++ Unicode символы Здравствуйте.Каким образом можно вывести на экран символы unicode? http://www.cyberforum.ru/cpp-beginners/thread227958.html
абстрактный класс C++
Всем привет, снова я, только уже с новым вопросом, а что такое абстрактный класс. Читаю книгу, не могу врубиться, рассказывается про какие-то чисто виртуальные методы, можете мне рассказать чем отличается абстрактный класс от простого и привести пример. Заранее спасибо Добавлено через 21 минуту а то просто не всегда понимаю по своей книжке что написано, а вот денег на новую нету
Вывести порядковые номера слов в строке, совпадающих с введенным словом C++
Подскажите пожалуйста и помогите в написание программы и вообще разобраться с заданием,а то честно читаю и не понять=)))Заранее благодарен!!! 1. Ввести строку и слово. Вывести порядковые номера слов в строке, совпадающих с введенным словом
C++ Переделать с файлами http://www.cyberforum.ru/cpp-beginners/thread227941.html
Подсчитать количество предложений в файле #include <stdio.h> #include <string.h> #include <conio.h> #include <iostream.h> #include<fstream.h> int main(void) { clrscr(); int nsent;
C++ Программа с меню Дана задача: "Парк авиакомпании «Выборгские авиалинии» состоит из одного самолёта с количеством мест 12. Он делает один рейс в день. Написать программу резервирования мест со следующими характеристиками: а. Программа использует массив из 12 структур. Каждая структура должна содержать номер сиденья (идентификатор места), маркер, указывающий зарезервировано ли место, фамилию пассажира и его имя.... подробнее

Показать сообщение отдельно
Virgilian
Сообщений: n/a
23.01.2011, 19:35     Программа, выводящая прописью чётные числа массива.
Уже не надо. Разобрался.
Вот код (если вдруг кому надо).
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include <iostream>
#include <conio.h>
 
 
using namespace std;
 
 
       
   
  char *towords(int numb){
    //массив, для определения разряда, в котором находимся(сотни,десятки,еденицы...)
    int osn[11]={0,1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};
 
    //массив оснований
    char *basis[11][10]={
        {"","","","","","","","","",""},
        {"","один","два","три","четыре","пять","шесть","семь","восемь","девять"},
        {"","десять","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"},
        {"","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"},
        {"","одна","две","три","четыре","пять","шесть","семь","восемь","девять"},
        {"","десять","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"},
        {"","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"},
        {"","один","два","три","четыре","пять","шесть","семь","восемь","девять"},
        {"","десять","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"},
        {"","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"},
        {"","один","два","три ","четыре","пять","шесть","семь","восемь","девять"}};
 
    //массив окончаний
    char *termination[10][10]={
        {"","","","тысяч","","","миллионов","","","миллиардов"},
        {"","","","тысяча","","","миллион","","","миллиард"},
        {"","","","тысячи","","","миллиона","","","миллиарда"},
        {"","","","тысячи","","","миллиона","","","миллиарда"},
        {"","","","тысячи","","","миллиона","","","миллиарда"},
        {"","","","тысяч","","","миллионов","","","миллиардов"},
        {"","","","тысяч","","","миллионов","","","миллиардов"},
        {"","","","тысяч","","","миллионов","","","миллиардов"},
        {"","","","тысяч","","","миллионов","","","миллиардов"},
        {"","","","тысяч","","","миллионов","","","миллиардов"}};
 
    char *dec[10]={"десять","одиннадцать","двенадцать","тринадцать","четырнадцать","пятнадцать","шестнадцать","семнадцать","восемнадцать","девятнадцать"};
 
    
     int n1=numb;
    
    int cnt=0;
    
 
   
    while (numb){
        numb/=10;
        ++cnt;
    }
  char result[100]={};
    int celoe=0;
 
   
 
    while (n1){
          if (!((cnt+1) % 3)){
            if ((n1/osn[cnt])==1){
                    n1%=osn[cnt];
                    --cnt;
                    celoe=n1/osn[cnt];
                    n1%=osn[cnt];
                    strcat(result, dec[celoe]);
                --cnt;
                if (!(cnt % 3)){
                    strcat(result, " ");
                strcat(result, termination[0][cnt]);
                strcat(result, " ");
                }
            }
            if (!cnt) break;
        }
        celoe=n1/osn[cnt];
        n1%=osn[cnt];
        strcat(result, basis[cnt][celoe]);
        --cnt;
        strcat(result, " ");
        if (!(cnt % 3)){
            strcat(result, termination[celoe][cnt]);
            strcat(result, " ");
        }
    }
   cout<<result;
    return result;
}
 
    
  int main()
{setlocale(LC_ALL,"");
        int n,count=0,el=2;
        cout<<"Введите количество элементов массива ";
        cin>>n;
        int*ar=new int [n-1];
        
        //заполним массив от 2 до n
        for(int i=0;i<n-1;++i)
        {ar[i]=el++;}
        
        //Найдем все простые числа, не превышающие число n, используя решето Эратосфена.
        for (int i=0;i<n-1;++i)
           {
                   for (int j=i+1;j<n;++j)
                   {
                           if(ar[i]==0)
                           {
                                   count++;
                                   break;
                           }
                           else if(j<n-1&&ar[j]%ar[i]==0)
                           {
                                   ar[j]=0;
                           }
                        }
           }
        
        //перенесем все найденные числа в новый массив и распечатаем их
        int j=0;
        int*tmp=new int[n-1-count];
        for (int i=0;i<n-1-count;++i)
           {
                   while(j<n-1)
                   {
                           if(ar[j]){tmp[i]=ar[j];++j;break;}
                           ++j;
                   }
                   towords(tmp[i]);
           }
        
        delete[]tmp;
        delete[]ar;
        ar=0;tmp=0;
        getch();
        return 0;
}
 
Текущее время: 00:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru