Не ми се пише програмата, но ето ти малко идеи:

Създаваш двумерен масив с 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


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

Успех!