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

Правильный треугольник - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Многочлены http://www.cyberforum.ru/cpp-beginners/thread85176.html
http://s003.***********/i202/1001/dc/6e8447711438.png
C++ Найти в каждой строке матрицы максимальный и минимальный элементы Всем Привет_))) Ребят, у меня проблема. Задание: Дана матрица B Найти в каждой строке максимальный и минимальный элементы и поменять их местами с первым и последним соответственно. Как на блок-схемах выглядит понимаю, а вот с кодировкой на С нет. подскажите, кто что может_))).Заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread85161.html
C++ Из двумерного массива сделать одномерный массив, так что бы в него вошла сумма элементов строк
Подскажите в чем ошибка! Вот условие "из двумерного массива сделать одномерный массив, так что бы в него вошла сумма елементов строк ( каждоя строка отдельно)" А оно считает только первую строку(((( #include<iostream.h> #include<math.h> #include<conio.h> const int n=3; void main ( )
Не могу написать проги. А время сдавать уже. C++
Выручите плиз, послезавтро зачет и нужно написать 2 проги (вроде простенькие) на Си а я пока что нубко в программировании... Вот задание: 1.Дана матрица и ее размерность A(NxM), вектор b(N) и вектор x(M). С помощью подстановки определить является ли вектор x решением уравнения Ax=b. 2.При выполнении заданий учитывать следующие требования и ограничения: 1. Размер любой входной строки не...
C++ [Visual C++]strcmp() http://www.cyberforum.ru/cpp-beginners/thread85142.html
Нужно слова, которые считываются в буфер stroka, отсортировать по алфавиту с пом. strcmp. Ошибка в том, что в условии if (strcmp( &stroka, &stroka )>0) в массивах stroka, stroka - хранится весь массив строк, а не отдельные его слова.Думаю, что ошибка в циклах. visual c++ 6.0 mfc appwizzard. Код прилагается: void CProjectDlg::OnReadF() { char Filter = "TextFile (*.txt),(*.doc) |...
C++ Организовать ввод кириллицы в массив #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> #define sz2 20 int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL, "Russian"); подробнее

Показать сообщение отдельно
odip
Эксперт C++
 Аватар для odip
7224 / 3286 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
12.01.2010, 22:47     Правильный треугольник
Этот алгоритм не строит треугольник минимальной площади, но по условию это не требуется.

Положить круги в пирамиду.
Например 1, 3, 6, 10, 15 кругов хорошо кладутся в пирамиду.
Если кругов например 5, то рассчитываем на пирамиду из 6, но одного круга нет.
Далее вокруг этой пирамиды легко строится правильный треугольник.
Осталось посчитать его сторону.

Имеется полная пирамида со стороной m кругов.
Очевидно, что n==(1+m)*m/2
Посчитаем сторону описанного треугольника.
В нижнем ряду лежит m кругов.
Между кругами имеется (m-1) промежутков длиной 2*r
a0=(m-1)*2*r

Угол правильного треугольника - 60, половина угла - 30.

Крайний круг лежит на нижней стороне описанного треугольника.
Нужно найти a1 - расстояние от точки касания крайнего круга и нижней стороны до угла треугольника.

Расмотрим маленький треугольник в углу.
sin(30)=1/2=r/2r.
Значит расстояние от угла описанного треугольника до центра ближайшего круга - 2r.

Иcкомое расстояние a1 - это один из катетов маленького треугольника
a1= sqrt(3*r^2)=r*sqrt(3)

Полная сторона: a=a1+a0+a1=r*sqrt(3)+(m-1)*2*r+r*sqrt(3) =>
a= 2*r*(sqrt(3)+(m-1))

Осталось определить m из n.

m - этот минимальное целое, такое что (1+m)*m/2 >= n
 
Текущее время: 14:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru