Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Кирилыч
1 / 1 / 1
Регистрация: 13.10.2017
Сообщений: 23
1

А давайте сыграем?

18.10.2017, 00:16. Просмотров 265. Ответов 13

Предлагаю вот что:
каждый придумывает, что можно добавить полезного в код.
Я вот закинул всё что первое пришло в голову, а на остальное времени не хватило.
Только просьба. Если кто вдруг возьмется не разводите бардак, постарайтесь оформлять как изначально предложено
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>
//#include "stdafx.h"//перевод в кириллицу
#include <clocale>//перевод в кириллицу
#include <cmath>
#define Pi 3.141592654
 
using namespace std;
 
//1.квадратное уровнение
double KvUr(double a, double b, double c)
{
    double x1,x2,d;
    
    d=b*b-4*a*c;
    if (d>0)
    {
        x1=(-1*b+sqrt(d))/(2*a);
        x2=(-1*b-sqrt(d))/(2*a);
        cout<<"\nD="<<d<<";\tx1="<<x1<<";\tx2="<<x2;
    }
    if (d=0)
    {
        x1=-1*b/2/a;
        cout<<"\nD=0;\tx="<<x1;
    }
    if (d<0) cout<<"\nКорней нет";
}
 
//2.теорема косинусов
double TCos(double a,double b, double c)
{
    double x=0;
    x = sqrt(a*a+b*b-2*a*b*cos(c));
    cout<<"\nc="<<x;
    
}
 
//3.теорема Пифагора
double TPif(int a, int b)
{
    double c;
    c=sqrt(a*a+b*b);
    cout<<"\nc="<<c;
}
 
//4.сумма арифметическая прогрессии
double ArProg(double a, double d, double n)
{
    double x;
    x = ((2*a+d*(n-1))/2)*n;
    cout<<"SUMM1..."<<n<<"="<<x;
}
 
//5. сумма геометрической прогрессии
long double GeoProg(double b, double q, double n)
{
    double qn=1,nz;
    long double s;
    for(nz=n;nz>0;nz--) qn*=q;
    s = b*(1-qn)/(1-q);
    cout<<"SUMM1..."<<n<<"="<<s;
}
 
//6. середина отрезка
double SerOtr( double x1, double y1, double z1,double x2, double y2, double z2)
{
    cout << "C ("<<(x1+x2)/2<<";"<<(y1+y2)/2<<";"<<(z1+z2)/2<<")\n";
}
 
//7. длина отрезка
double DlOtr( double x1, double y1, double z1,double x2, double y2, double z2)
{
    double a;
    a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2));
    cout << "a="<<a<<"\n";
}
 
 
main()
{
    setlocale (LC_CTYPE, "rus"); //перевод в кириллицу
    
    int I,f=0,f1;
    double g,a,b,c,x,x1,y1,z1,x2,y2,z2;
    char p;
    
    //так сказать интрО
    cout<<"что используем?\n0.выход\n";
    cout<<"1. квадратное уровнение [вкл]\n";
    cout<<"2. теорема косинусов [вкл]\n";
    cout<<"3. теорема Пифагора [вкл]\n";
    cout<<"4. сумма арифметической прогрессии [вкл]\n";
    cout<<"5. сумма геометрической прогрессии [вкл]\n";
    cout<<"6. середина отрезка в пространстве по координатам точек [вкл]\n";
    cout<<"7. длина отрезка по координатам точек [вкл]\n";
    cout<<"если выбрал то пиши номер, если нет того что хочешь добавляй код\n";
    
    //исполняемый код в цикле шоб кучу за раз проверить
    do 
    {       
        cout<<"\nВаши действия? ";
        cin>>I;
    
        if (I==0) p='n'; //вторая попытка выйти XD
        
        if(I==1)
        {
            cout<<"\nпожалуйста введите a,b,c:\t";
            cin>>a>>b>>c;
            KvUr(a,b,c);
            cout<<endl<<"Повторить? (y/n)  ";
            cin>>p;
        }
    
        if(I==2)
        {
            cout<<"\nпожалуйста введите a,b и угол между ними (в радианах):\t";
            cin>>a>>b>>g;
            g = Pi * g / 180;
            TCos(a,b,g);
            cout<<endl<<"Повторить? (y/n)  ";
            cin>>p; 
        }
        
        if (I==3)
        {
            cout<<"\nпожалуйста введите a и b:\t";
            cin>>a>>b;
            TPif(a,b);
            cout<<endl<<"Повторить? (y/n)  ";
            cin>>p;
        }
        
        if (I==4)
        {
            cout<<"\nпожалуйста введите a1,d,n:\t";
            cin>>a>>b>>c;
            ArProg(a,b,c);
            cout<<endl<<"Повторить? (y/n)  ";
            cin>>p;
        }
        
        if (I==5)
        {
            cout<<"\nпожалуйста введите b1,q,n:\t";
            cin>>a>>b>>c;
            GeoProg(a,b,c);
            cout<<endl<<"Повторить? (y/n)  ";
            cin>>p;
        }
        
        if (I==6)
        {
            cout<<"\nпожалуйста введите x1,y1,z1,x2,y2,z2:\t";
            cin>>x1>>y1>>z1>>x2>>y2>>z2;
            SerOtr(x1,y1,z1,x2,y2,z2);
            cout<<endl<<"Повторить? (y/n)  ";
            cin>>p;
        }
        
        if (I==7)
        {
            cout<<"\nпожалуйста введите x1,y1,z1,x2,y2,z2:\t";
            cin>>x1>>y1>>z1>>x2>>y2>>z2;
            DlOtr(x1,y1,z1,x2,y2,z2);
            cout<<endl<<"Повторить? (y/n)  ";
            cin>>p;
        }       
        
    } while(p!='n');
    
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2017, 00:16
Ответы с готовыми решениями:

Давайте создадим библиотеку с литературой для начинающих
Здравствуйте уважаемые админы сайта:) С недавних пор начал изучение языка программирования С++ и...

Давайте сыграем
http://www.game4seo.com/ - игра для оптимизаторов. Те же скачки. Создаете сайт - выигрываете...

Сыграем в шахматы?
Предлагаю в этой теме сыграть со мной в шахматы. Остальные могут наблюдать и болеть) играем...

Сыграем в крестики-нолики?
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { char r; int t1, t2; int c1; int...

Пишите ники в WOT, сыграем!
Воббщем извините,если повторяюсь.Пишите ники,потренимся вместе. Я nanshakov.Желательно написать...

13
Croessmah
++Ͻ
15317 / 8692 / 1659
Регистрация: 27.09.2012
Сообщений: 21,423
Записей в блоге: 2
Завершенные тесты: 2
18.10.2017, 00:17 2
Цитата Сообщение от Кирилыч Посмотреть сообщение
каждый придумывает, что можно добавить полезного в код.
А может лучше пусть выкинут бесполезное?
0
Кирилыч
1 / 1 / 1
Регистрация: 13.10.2017
Сообщений: 23
18.10.2017, 00:19  [ТС] 3
Почему нет? Каждый волен делать по-своему! Исходник в любом случае есть XD
0
Croessmah
++Ͻ
15317 / 8692 / 1659
Регистрация: 27.09.2012
Сообщений: 21,423
Записей в блоге: 2
Завершенные тесты: 2
18.10.2017, 00:21 4
Тогда предлагаю выпилить к чертовой бабушке
это условие со всем его содержимым:
Цитата Сообщение от Кирилыч Посмотреть сообщение
C++
1
2
3
4
5
if (d=0)
{
   x1=-1*b/2/a;
   cout<<"\nD=0;\tx="<<x1;
}
оно же абсолютно бесполезно.
0
18.10.2017, 00:21
Кирилыч
1 / 1 / 1
Регистрация: 13.10.2017
Сообщений: 23
18.10.2017, 00:59  [ТС] 5
Не совсем. Текст на выходе другой
0
Croessmah
++Ͻ
15317 / 8692 / 1659
Регистрация: 27.09.2012
Сообщений: 21,423
Записей в блоге: 2
Завершенные тесты: 2
18.10.2017, 01:00 6
Цитата Сообщение от Кирилыч Посмотреть сообщение
Не совсем. Текст на выходе другой
C++
1
if (d=0)//всегда false, так что внутрь никогда не попадем
0
Кирилыч
1 / 1 / 1
Регистрация: 13.10.2017
Сообщений: 23
18.10.2017, 01:06  [ТС] 7
Ля....
Я постоянно забываю, что в условиях нужно ставить двойной знак равенства!!! Когда об этом задумываюсь, то делаю правильно, а когда нет... Ну вы сами видели...
0
Croessmah
++Ͻ
15317 / 8692 / 1659
Регистрация: 27.09.2012
Сообщений: 21,423
Записей в блоге: 2
Завершенные тесты: 2
18.10.2017, 01:07 8
Кирилыч, а где return'ы в функциях?
0
Кирилыч
1 / 1 / 1
Регистрация: 13.10.2017
Сообщений: 23
18.10.2017, 01:16  [ТС] 9
А вот тут и всплывает вопрос. Да, я знаю что ретурн возвращает значение, но это мне ни о чем не говорит. Насколько я вас понял их нужно использовать в любой функции???
P.S. такой вопрос может показаться глупым, а может и не показаться, ведь так и есть. Не ругайтесь, ведь я своими силами и при помощи вашего форума пытаюсь научиться.
0
Croessmah
++Ͻ
15317 / 8692 / 1659
Регистрация: 27.09.2012
Сообщений: 21,423
Записей в блоге: 2
Завершенные тесты: 2
18.10.2017, 01:21 10
Цитата Сообщение от Кирилыч Посмотреть сообщение
Не ругайтесь
Разве такой няша как я может ругаться?
Цитата Сообщение от Кирилыч Посмотреть сообщение
Насколько я вас понял их нужно использовать в любой функции?
Если функция возвращает не void, то - да.
Исключение - main, если в ней нет return, то вернется 0.
И еще в C++ нет неявного int, поэтому добавьте
возвращаемый тип для main - int main() { ... }.
Цитата Сообщение от Кирилыч Посмотреть сообщение
Да, я знаю что ретурн возвращает значение, но это мне ни о чем не говорит.
Я предлагаю Вам задачу.
Переделайте Ваш код так, чтобы в функциях
KvUr, TCos, TPif, ArProg, GeoProg, SerOtr, DlOtr
не было вывода результата, пусть
результат выводится в функции main.
0
Кирилыч
1 / 1 / 1
Регистрация: 13.10.2017
Сообщений: 23
18.10.2017, 01:25  [ТС] 11
Хорошо! Обязательно! Спасибо!
0
COKPOWEHEU
1328 / 960 / 220
Регистрация: 09.09.2017
Сообщений: 3,965
18.10.2017, 09:26 12
Цитата Сообщение от Croessmah Посмотреть сообщение
Если функция возвращает не void, то - да.
Но не запрещено. В функции void func() вполне можно сделать return;
Цитата Сообщение от Кирилыч Посмотреть сообщение
x1=(-1*b+sqrt(d))/(2*a);
Предлагаю добавить проверку a на 0.
Предлагаю оформить как принято (переменные с маленькой буквы, использовать английские слова а не кривую транслитерацию, добавить комментарии, называть функции осмысленно)
C
1
2
3
4
5
//7. длина отрезка
double line_length( double xa, double ya, double za, double xb, double yb, double zb){
  xa -= xb; ya -= yb; za -= zb; //рассчитываем вектор AB
  return sqrt( xa*xa + ya*ya + za*za );
}
Предлагаю оформить локализацию по-нормальному вместо вхардкоживания русского текста в код.
0
Croessmah
18.10.2017, 09:33
  #13

Не по теме:

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Но не запрещено.
А где я писал что запрещено?
Прочитайте внимательнее вопрос и ответ. :)
Если уж на то пошло, то у нас еще есть функции noreturn.

0
MrGluck
Форумчанин
Эксперт CЭксперт С++
8121 / 4973 / 1436
Регистрация: 29.11.2010
Сообщений: 13,456
18.10.2017, 10:33 14
Выкинул всё ненужное
C++
1
2
int main()
{}
0
18.10.2017, 10:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2017, 10:33

Давайте поищем
Есть вот такой код #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; void InputMatr(...

Давайте пофантазируем
контент журналистам заказывали писать или с бору по сосенку?

А давайте повспоминаем!
А давайте повспоминаем- кто, как, начинал. Например я с 87 по 91 года учился в...


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

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

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