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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.65
димарик
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 81
#1

)Вывести квадрат,состоящий из N x N клеток, заполненных числами от до N^2 по спирали(2<=N<=100).Не допускается начинать спираль в ином,кроме верхнего - C++

02.04.2012, 20:48. Просмотров 2952. Ответов 21
Метки нет (Все метки)

1)Вывести квадрат,состоящий из N x N клеток, заполненных числами от до N^2 по спирали(2<=N<=100).Не допускается начинать спираль в ином,кроме верхнего левого угла, закручивать спираль против часовой стрелки или изнутри наружу.
Входные данные: Выходные данные:
из файла - в первой строке число N. В файл - N строк по N чисел, разделённых пробелами

Примеры

Input.txt
1 2 3
8 9 4
7 6 5

Output.txt
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

2)Круговая площадь
Два круга заданы координатами центров в прямоугольной декартовой системе координат и радиусами. Найти площадь их пересечения.

рисунок:http://www.e-olimp.com/media/upload/...1290801383.JPG

Технические условия
Входные данные
из файла в первой строке через пробел шесть чисел: координаты центра и радиус первого круга, координаты центра и радиус второго круга


Выходные данные

в файл - одно число с двумя знаками после запятой: площадь пересечения кругов

Пример
input.txt
20 30 15 40 30 30

output.txt
608,37
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2012, 20:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос )Вывести квадрат,состоящий из N x N клеток, заполненных числами от до N^2 по спирали(2<=N<=100).Не допускается начинать спираль в ином,кроме верхнего (C++):

Вывести квадрат, состоящий из NxN клеток, заполненных числами от 1 до N2 по спирали - C++
В этой задаче вам необходимо вывести квадрат, состоящий из NxN клеток, заполненных числами от 1 до N2 по спирали (см. примеры). Формат...

Вывести квадрат, состоящий из NxN клеток, заполненных числами от 1 до N^2 по спирали - C#
Вывести квадрат, состоящий из NxN клеток, заполненных числами от 1 до N2 по спирали (см. примеры). Ввод В первой строке находится...

Вывести квадрат, состоящий из NxN клеток, заполненных числами от 1 до N² по спирали - Turbo Pascal
Помогите пожалуйста, очень нужно решить эту задачу Вывести квадрат, состоящий из NxN клеток, заполненных числами от 1 до N² по спирали...

Вывести квадрат, состоящий из клеток, заполненных числами - C#
Здравствуйте, участники форума. Помогите в решении следующей задачи. Вывести квадрат, состоящий из NxN клеток, заполненных числами от...

Заполнить массив состоящий из N элементов случайными числами в интервале от -100 до 100 - Delphi
Как заполнить массив состоящий из N элементов случайными числами в интервале от -100 до 100. В результате должен получиться возрастающий...

Заполнить массив числами от 1 до n^2, расположенными по спирали, начиная с левого верхнего угла и продвигаясь по часовой стрелке - C++
Помогите построить задачку на двумерный массив! Заполнить квадратную таблицу размером n*n последовательными целыми числами от 1 до...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
04.04.2012, 18:35 #16
Цитата Сообщение от димарик Посмотреть сообщение
я не понял формулы как найти а и h(не напишите)?

Не по теме:

зачем вам решать тогда подобные задачи?


Что не понятного в нахождении a? d уже расчитано, r0 - радиус первого круга, r1 - радиус второго круга.
димарик
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 81
04.04.2012, 18:38  [ТС] #17
int x1,y1,r1,x2,y2,r2,d,x3a,x3b,y3a,y3b,a,h;
cout<<"vvedite koordinati centra u radius pervogo kruga";
cin>>x1,y1,r1;
cout<<"vvedite koordinati centra u radius vtorogo kruga";
cin>>x2,y2,r2;
d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
a=(r1*r1-r2*r2+d*d)/(2*d);
h*h=r1*r1-a*a;
так?
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
04.04.2012, 18:44 #18
Цитата Сообщение от димарик Посмотреть сообщение
C++
1
h*h=r1*r1-a*a;
заменить на:
C++
1
h=sqrt(r1*r1-a*a);
да еще все переменные делайте не int а double.
димарик
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 81
04.04.2012, 18:58  [ТС] #19
int x1,y1,r1,x2,y2,r2,d,x3a,x3b,y3a,y3b,a,h;
cout<<"vvedite koordinati centra u radius pervogo kruga";
cin>>x1,y1,r1;
cout<<"vvedite koordinati centra u radius vtorogo kruga";
cin>>x2,y2,r2;
d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
a=(r1*r1-r2*r2+d*d)/(2*d);
h=sqrt(r1*r1-a*a);
x3a=x2+-h*(y2-y1)/d;
x3b=x2+-h*(y2-y1)/d;
y3a=y2-+h*(x2-x1)/d;
y3b=y2-+h*(x2-x1)/d;
вот так?

Добавлено через 10 минут
ну так как

Добавлено через 58 секунд
поменял на double
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
04.04.2012, 19:03 #20
димарик, слушайте, без обид, в классе 7 в школе проходят решение квадратных уравнений, при вычислении x используют значек (плюс-минус). Здесь такая же ситуация....
димарик
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 81
04.04.2012, 19:24  [ТС] #21
C++
1
2
3
4
5
6
7
8
9
10
11
12
double x1,y1,r1,x2,y2,r2,d,x3a,x3b,y3a,y3b,a,h;
        cout<<"vvedite koordinati centra u radius pervogo kruga";
        cin>>x1,y1,r1;
        cout<<"vvedite koordinati centra u radius vtorogo kruga";
        cin>>x2,y2,r2;
        d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
        a=(r1*r1-r2*r2+d*d)/(2*d);
        h=sqrt(r1*r1-a*a);
        x3a=x2-h*(y2-y1)/d;
        x3b=x2+h*(y2-y1)/d;
        y3a=y2-h*(x2-x1)/d;
        y3b=y2+h*(x2-x1)/d;
Добавлено через 1 минуту
теперь так?

Добавлено через 14 минут
что не так написал:?
димарик
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 81
06.04.2012, 18:50  [ТС] #22
Валерий плиз помоги решить задачку....я в геометрии не селён
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2012, 18:50
Привет! Вот еще темы с ответами:

Заполнить двумерный массив указанного размера последовательными натуральными числами, двигаясь от верхнего левого элемента вправо и далее по спирали - C#
Заполнить двумерный массив указанного размера последовательными натуральными числами, двигаясь от верхнего левого элемента вправо и далее...

Заполнить двумерный массив целыми числами от 1 до 100 по спирали - C++
Заполнить двумерный массив целыми числами от 1 до 100 по спирали

Заполнить двухмерный массив целыми числами от 1 до 100 по спирали - C#
Заполнить двухмерный массив целыми числами от 1 до 100 по спирали.

Заполнить двумерный квадратный массив целыми числами от 1 до 100 по спирали, - PHP
Заполнить двумерный квадратный массив целыми числами от 1 до 100 по спирали, с правого крайнего угла в центр


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.04.2012, 18:50
Ответ Создать тему
Опции темы

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