PDA

View Full Version : Помощ.Програма на C++.



InF3c7IoN
12-03-2011, 07:21
Трябва ми кода на една програма в C++.
До сега съм учил само Паскал,но сега се срещам и с този език,а не знам какво да правя.Ето задачата:
В едномерни масиви въведете данни за трите страни на N на брой съществуващи триъгълника. Броят им М ,се въвежда от клавиатурата и трябва да отговаря на условието 6<М<30.Пресметнете и съхранете в нови масиви ъглите и радиуса
на описаната окръжност на всеки триъгълник и ги отпечатайте в подходящ вид.Намерете триъгълника с най-големия радиус и пресметнете неговите лице и периметър.
Предполагам кодът ще е доста дълъг,но моля който има представа, да помогне.Предварително благодаря. :)

Chacho
12-03-2011, 14:47
Не ми се пише програмата, но ето ти малко идеи:

Създаваш двумерен масив с 30х3 елемента, който ще ти запазва страните на триъгълниците. При въвеждането ползвай while и постави условие (a[i][1]+a[i][2]>a[i][3]) && (a[i][3]+a[i][2]>a[i][1]) && (a[i][1]+a[i][3]>a[i][2]) , което ако е true, ще увеличава брояча на цикъла с 1-ца. Така ще си сигурен, че въвеждаш съществуващи триъгълници.

Правиш си функция, която ще пресмята ъгъла и функция, която ще пресмята радиуса по 3 въведени страни. За първото ползваш cosTh, за второто - sinTh.

Новият масив естествено е 30х4 двумерен масив, където ще записваш 3 ъгъла и радиус на всеки ред.

В една променлива max ще намериш най-големия радиус. Първоначално на max присвояваш радиуса на първия триъгълник и при обхождане, ако срещнеш по-голям го запаметяваш в променливата.

Накрая можеш да ползваш S=(a.b.sin<(a;b))/2


Щом си учил Паскал, за материяла касаещ конкретната задача ще ти отнеме много малко време, че да се прехвърлиш на синтаксиса на С++.

Успех!

mMemories
12-11-2011, 15:29
Естествено нищо не разбрах от обяснението, но все пак дано поне на теб да е помогнало...

Chacho
12-13-2011, 11:08
Задачата е елементарна, нито изисква сложни познания по математика, нито такива по информатика.