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

Операторы цикла, целочисленные типы данных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с текстом http://www.cyberforum.ru/cpp-beginners/thread107060.html
Помогите реализовать: Считывание текста из текстового файла и вывод на экран только слов, состоящих из заданного количества букв. Сформировать из текста словарь (запись его в новый файл). Реализовать возможность дополнения словаря из других текстовых файлов.
C++ Подсчитать количество пар соседних элементов массива с одинаковыми значениями Что нужно сделать: Подсчитать количество пар соседних элементов с одинаковыми значениями Диапазон значений : -50 до 50 Размерность массива: 200 Вложения . Пример решения задачи токо не мой вариант http://www.cyberforum.ru/cpp-beginners/thread107058.html
Найдите пожалуйста ошибку C++
#include <iostream> #include <cmath> #include <ctime> using namespace std; int main(){ char a; int zvezd,probel,b; int i,j,n,s; cout<<"Enter the size of matrix <=20"; cin>>n;
Вычислить выражение C++
Помогите!!! Как написать математичесой выраз!!!! 3+e в степине y-1 разделить на 1+x в квадрате по модулю y-tgx
C++ Найдите ошибку в коде.Он должен найти средний арифметическийи каждого столбца http://www.cyberforum.ru/cpp-beginners/thread107043.html
#include <iostream> #include <ctime> using namespace std; int const n = 5; void Input(int **mas, int n){ srand(time(NULL)); for(int i = 0; i<n; i++){ for(int j = 0; j<9; j++){ mas = rand()%109+(-37); }
C++ Сортировка методом вставок Заполнить массив размером 20 случайными числами в диапазоне от 0 до 200. Во второй массив выбрать все двузначные элементы, отсортированные методом вставок по возрастанию.вывести на экран подробнее

Показать сообщение отдельно
Зоти Сергей
228 / 226 / 13
Регистрация: 18.12.2009
Сообщений: 316
22.03.2010, 14:41     Операторы цикла, целочисленные типы данных
ну... как - то так, короче.
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
#include <iostream.h>
#include <conio.h>
#define ESC 27
#define ENTER 13
#define BACKSPACE 8
#define UPPER_RANGE 32765
#define LOWER_RANGE -32765
#include <vector.h>
//---------------------------------------------------------------------------
struct CDigitList
{
        CDigitList * Next;
        int Digit;
        int Num;
};
CDigitList * DigitList;
vector <char> CharacterVector;
//---------------------------------------------------------------------------
CDigitList * GetDigitFromList(int Index)
{
        CDigitList * TempDigit = DigitList;
        while(TempDigit)
        {
                if(TempDigit->Num==Index)
                {
                        return TempDigit;
                }
                TempDigit=TempDigit->Next;
 
        }
        return NULL;
}
//---------------------------------------------------------------------------
void AddDigitToList(int NewDigit)
{
        int Num=0;
        CDigitList * NewEllement = new CDigitList;
        CDigitList * TempDigit = DigitList;
        if(DigitList)
        {
                Num=DigitList->Num;
                while(TempDigit->Next)
                {
                        TempDigit=TempDigit->Next;
                        Num=TempDigit->Num;
                }
                TempDigit->Next=NewEllement;
                TempDigit=NewEllement;
        }
        else
        {
                Num=0;
                DigitList=TempDigit=NewEllement;
        }
        if(TempDigit)
        {
                TempDigit->Next=NULL;
                TempDigit->Num=Num+1;
                TempDigit->Digit=NewDigit;
        }
}
//---------------------------------------------------------------------------
bool Check(int RecDigit)
{
        int Summ=0;
        for(int i=1;i<RecDigit;i++)
        if(!(RecDigit%i))
        {
                Summ+=i;
        }
        return Summ==RecDigit;
}
//---------------------------------------------------------------------------
bool InputNumber(int&EnteredDigit)
{
        char PressedButton;
 
        do
        {
                PressedButton=getch();
                clrscr();
                if(PressedButton==BACKSPACE)
                {
                        CharacterVector.erase(&CharacterVector[CharacterVector.size()-1]);
                }
                else
                {
                        if(PressedButton!=ESC)
                        {
                                CharacterVector.push_back(PressedButton);
 
                        }
                }
                for(int i=0;i<(int)CharacterVector.size();i++)
                        printf("%c",CharacterVector[i]);
                if(PressedButton==ENTER)
                {
                        EnteredDigit = atoi(&CharacterVector[0]);
                        break;
                }
 
        }while(PressedButton!=ESC);
        CharacterVector.clear();
        return PressedButton!=ESC;
}
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
        int EnteredDigit=0;
        CharacterVector.clear();
        int PerfectSumm=0;
        int MaxValue=LOWER_RANGE;
        int MinValue=UPPER_RANGE;
        bool IsEnter;
        int NumberofDigits=0;
        int NumberOfPerfectDigits=0;
        int NumberOfNotPerfectDigits=0;
        while(true)
        {
                IsEnter=InputNumber(EnteredDigit);
                if(IsEnter)
                {
                        if(EnteredDigit>UPPER_RANGE||EnteredDigit<LOWER_RANGE)
                        {
                                printf("OUT OF RANGE!!!\n");
                                continue;
                        }
                        printf("New Digit Added: %d",EnteredDigit);
                        AddDigitToList(EnteredDigit);
                        NumberofDigits++;
                }
                else
                        break;
        }
        clrscr();
        for(int i=1;i<=NumberofDigits;i++)
        {
                int CurrentValue=GetDigitFromList(i)->Digit;
                if(Check(CurrentValue))
                {
                        if(CurrentValue>MaxValue)
                                MaxValue=CurrentValue;
                        if(CurrentValue<MinValue)
                                MinValue=CurrentValue;
                        PerfectSumm+=CurrentValue;
 
                        NumberOfPerfectDigits++;
                }
                else
                {
                        PerfectSumm-=CurrentValue;
                        NumberOfNotPerfectDigits++;
                }
        }
        if(NumberOfPerfectDigits)
        {
                printf("Amount of Perfect digits: %d\n",NumberOfPerfectDigits);
                printf("SUMM of Perfect digits: %d\n",PerfectSumm);
                printf("MAX Perfect digit: %d\n",MaxValue);
                printf("MIN Perfect digit: %d\n",MinValue);
        }
        printf("Amount of Not-Perfect digits: %d\n",NumberOfNotPerfectDigits);
        getch();
 
        if(NumberofDigits)
        {
                for(int i=NumberofDigits;i>0;i--)
                        delete GetDigitFromList(i)->Next;
                delete GetDigitFromList(1);
        }
        return 0;
}
//---------------------------------------------------------------------------
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru