Премини към съдържанието

Препоръчан отговор


Здравейте, имам едно задание за правене по програмиране в бая начално ниво. Тъй като няма да ставам програмист изобщо не мога да се оправям с оператори, условия, камоли с масиви... Вие бихте ли ми помогнали ?

Задачата е:

Да се създаде програма, с която се въвеждат 10 триъгълника с техните страни (да се използват масиви за съхранение на данните). Като се използва функция за намиране на лице на фигура да се намерят лицата на триъгълниците и да се определи кой от тях е с най-малка площ. Стойностите на лицата на триъгълниците да се съхраняват в отделен масив. Програмата да извежда на екрана в

 подходящ формат данните на триъгълниците, техните лица и търсената стойност.

Нормално е от ваша страна да си мислете, че съм нахален и си искам работата на готово. Ако имате желание и време да може да ми обясните какво се случва след като декларирам a,b,c ? Как да направя така, че стойностите които се въвеждат от клавиатурата "cin >>"  да се съхраняват в масив ? Аз си го мисля така: 

int a,b,c;
int arr [10];
cout << "Vuvedete a= ";
cin >> arr[10];
cout << "Vuvedete b= ";
cin >> arr[10];
cout << "Vuvedete c= ";
cin >> arr[10];

Обаче не знам дали е вярно и какво точно се записва в масива ??? Не знам как да напиша и кой оператор да използвам за да въведа 10 страни (10 триъгълника). 

  

 Благодаря предварително ! 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
#include <iostream>
#include <cmath>
#define COUNT 10
using namespace std;


int main()
{
	double a[COUNT];
	double b[COUNT];
	double c[COUNT];
	double s[COUNT];
	for (int i = 0; i < COUNT; i++)
	{
		cout << "a[" << i << "] = ";
		cin >> a[i];
		cout << "b[" << i << "] = ";
		cin >> b[i];
		cout << "c[" << i << "] = ";
		cin >> c[i];
	}
	double p;
	for (int i = 0; i < COUNT; i++)
	{
		p = (a[i] + b[i] + c[i]) / 2;
		s[i] = sqrt(p * (p - a[i]) * (p - b[i]) * (p - c[i])); // heronova formula
	}
	double min = s[0];
	for (int i = 1; i < COUNT; i++)
	{
		if (min > s[i]) min = s[i];
	}
	cout << endl << "The smallest triangle area is " << min;
}

 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

при въвеждане на страните трябва да се сложи проверка дали изобщо от страните може да се получи триъгълник   a<b+c && b<a+c && c<a+b

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ако най малкото лице е по малко или равно на нула, значи има поне един триъгълник, който не е триъгълник. Ако е по голямо от нула всички триъгълници са триъгълници

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Като коренуваш във формулата ще получиш не отрицателно лице ами грешка, по-добре е още при въвеждането да ти я посочи.


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Вярно. Не ми се получи заяждането. 

И да е друга математиката валидацията пак трябва да си е при въвеждането.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
публикувано (редактирано)

Браво ******** се направо

Продължавайте да праскате готови кодове

Редактирано от darkterminal
Няма нужда от такива думи... (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Добави ново...

Информация

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