|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.04.2013, 16:20 | #1 |
Новичок
Джуниор
Регистрация: 09.04.2013
Сообщений: 1
|
Задача С++. Занесение результатов вычисления в разные таблицы
Необходимо решить задачу:
R = 4A - радиус круга с центром в начале координат (0,0), А - некоторое положительное значение число. 1). Результат тестирования попадания точек в область (мишень) представить в виде 2-х таблиц для точек попавших и не попавших в область , указав для каждой точки ее номер, координаты (X, Y) и радиус от начала координат . (у меня в решении они собраны вместе в одной таблице) 2). Для каждой из таблиц подсчитать процент точек таблицы от их общего количества, отношение площади мишени (области) к площади круга, а также найти точки максимально и минимально удаленные от начала координат. Вот мое решение : #include <stdio.h> #include <iostream.h> #include <conio.h> #include <math.h> #include <stdlib.h> #include <time.h> //------------------------------- class Area { float x, y, A; public: void Input(float); void Input(); int Print(int); int In_Area(); float Rast(); float Krug(); void Action(); Area (float P){A=P; x=0; y=0;} }; //-------------------------------- void Area::Input(float Rad){ int P=100; x=Rad*(rand()%P)/(P-1); if((rand()%10)%2)x=-x; y=sqrt(pow(Rad,2)-pow(x,2)); y=y*(rand()%P)/(P-1); if((rand()%10)%2)y=-y; } //--------------------------------- void Area::Input(){ cout<<"\n Vvedite X : "; cin>>x; cout<<"\n Vvedite Y : "; cin>>y; } //----------------------------------- int Area::In_Area(){ int c; c=(x-A)*(x-A)+y*y<=A*A; return c; } //---------------------------------- int Area::Print(int v){ int c=In_Area(); if(v){ cout<<"\n-----------------------------------"; cout<<"\n X Y Result Radius "; cout<<"\n-----------------------------------"; } printf("\n %6.2f %6.2f", x, y); switch (c){ case 0: printf("%8s", "Brak"); break; case 1: printf("%8s", "Norma"); } printf("\t%6.2f ", Rast()); return c; } //----------------------------------- float Area::Rast(){ return sqrt(pow(y,2)+pow(x,2)); } //-------------------------------- float Area::Krug(){ float Pi=4*atan(1); float S1=Pi*16*A*A; float S2=Pi*A*A; float H=S2/S1; return H; } //------------------------------- void Area::Action(){ int n, k, f=0; cout<<"\n Vvod kol-va tochek: "; cin>>n; cout<<"\n Vvod (x, y) -> (Random/Consol <-> 1/0): "; cin>>k; for (int i=0; i<n; i++){ if(k) Input(4*A); else Input(); if (Print(!i)) f++; } printf("\n------------------------------------"); getch(); float pr=(float)f/(float)n*100; printf("\n Procent popadaniya = %.2f%%\n", pr); cout<<"\n Otnoshenie S2 k S1: H= "<<Krug(); } //--------------------------- void main() {clrscr(); srand(1); float A; cout<<"\n Vvod chisla: "; cin>>A; Area B(A); B.Action(); cout<<"\n Press any key ..."; getch(); } Заранее благодарю! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибки при выводе результатов в виде таблицы | изо | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 04.04.2011 14:16 |
ВЫВОД РЕЗУЛЬТАТОВ В ВИДЕ ТАБЛИЦЫ | изо | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 26.03.2011 17:39 |
Выполнить разные вычисления в зависимости от значения переменной. (Pascal) | p0weR | Помощь студентам | 3 | 12.03.2011 11:40 |
Из DBEdit в 2 разные таблицы | maxkov | БД в Delphi | 5 | 17.10.2010 14:47 |
Дробление таблицы на разные листы | MaxxVer | Microsoft Office Excel | 9 | 22.03.2010 08:05 |