Форум

Data.BG Форуми: C++ задача - Data.BG Форуми

Прехвърляне към съдържание

Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

C++ задача Хипонуза на правоъгълен триъгълник

#1
Потребителят е неактивен   Aleks96 

  • Група: Потребители
  • Мнения: 5
  • Регистриран: 08-April 17
  • Репутация: 0
  • Пол:Жена
  • Град:София
В масивите а1, а2,...,аn и b1, b2,...,bn се съдържат катетите на n правоъгълни триъгълника.
Да се напише програма за намиране на номера на триъгълника с най-малка хипотенуза. В програмата да се използват динамични масиви.
Моля, който разбира езика на c++ да я цъкне набързо задачката. Благодаря предварително!!

0

#2
Потребителят е неактивен   marxism 

  • Група: Потребители
  • Мнения: 8
  • Регистриран: 05-April 17
  • Репутация: 0
  • Пол:Мъж
  • Град:Кърджали
#include "stdafx.h"
#include <iostream>
using namespace std;

void main()
{
	double a[2];
	double b[2];
	double c[2];
	double n;
	double p;
	double z;

	cout << "Vavedi katet 1 na purviq triugulnik: ";
	cin >> a[0];
	cout << "Vavedi katet 2 na purviq triugulnik: ";
	cin >> a[1];
	cout << "Vavedi katet 1 na vtoriq triugulnik: ";
	cin >> b[0];
	cout << "Vavedi katet 2 na vtoriq triugulnik: ";
	cin >> b[1];
	cout << "Vavedi katet 1 na tretiq triugulnik: ";
	cin >> c[0];
	cout << "Vavedi katet 2 na tretiq triugulnik: ";
	cin >> c[1];
	n = (a[0] * a[0]) + (a[1] * a[1]);
	p = (b[0] * b[0]) + (b[1] * b[1]);
	z = (c[0] * c[0]) + (c[1] * c[1]);

	if (n < p && n < z) {
		cout << "Triugulnik 1 e s nai-malka hipotenuza" << endl;
	}
	else if (p < n&& p < z) {
		cout << "Triugulnik 2 e s nai-malka hipotenuza" << endl;
	}
	else if (z < n&&z < p) {
		cout << "Triugulnik 3 e s nai-malka hipotenuza" << endl;
	}
	else {
		cout << "Ima ravni hipotenuzi" << endl;
	}
}

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

#3
Потребителят е неактивен   inedx 

  • Група: Потребители
  • Мнения: 1985
  • Регистриран: 16-May 05
  • Репутация: 339
  • Пол:Мъж
  • Град:Варна
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    double *a, *b, min, hyp;
    int n,mx;
    
    cout<<"N = ";
    cin>>n;
    if (n<1) return 1;
    
    a = new double[n];
    b = new double[n];
    
    for (int i=0; i<n; ++i)
    { 
        cout<<"\nA"<<i+1<<" = ";
        cin>>a[i];
        cout<<"B"<<i+1<<" = ";
        cin>>b[i];
        hyp = hypot(a[i],b[i]);
        if (i==0|| hyp<min) {min=hyp; mx=i;}
    }
    cout<<"\nTriangle A"<<mx+1<<" = "<<a[mx];
    cout<<"  B"<<mx+1<<" = "<<b[mx];
    cout<<"\nMinimal Hypotenuse = "<<min<<endl;
}

ASRock B85 Pro4, Pentium G3240, DD3 8GB/1333MHz,120GB SSD + 4TB + 640GB HDD
Gigabyte GV-R657OC-1GI, CM B500, ASUS 24B1S1, LCD SAMSUNG SM931BW, ME173X
“Μαματα ςι ε εδαλο” — гръцка поговорка
0

#4
Потребителят е неактивен   Aleks96 

  • Група: Потребители
  • Мнения: 5
  • Регистриран: 08-April 17
  • Репутация: 0
  • Пол:Жена
  • Град:София

Преглед на мнениеinedx, на 09.04.17 - 13:40, каза:

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    double *a, *b, min, hyp;
    int n,mx;
    
    cout<<"N = ";
    cin>>n;
    if (n<1) return 1;
    
    a = new double[n];
    b = new double[n];
    
    for (int i=0; i<n; ++i)
    { 
        cout<<"\nA"<<i+1<<" = ";
        cin>>a[i];
        cout<<"B"<<i+1<<" = ";
        cin>>b[i];
        hyp = hypot(a[i],b[i]);
        if (i==0|| hyp<min) {min=hyp; mx=i;}
    }
    cout<<"\nTriangle A"<<mx+1<<" = "<<a[mx];
    cout<<"  B"<<mx+1<<" = "<<b[mx];
    cout<<"\nMinimal Hypotenuse = "<<min<<endl;
}




Благодаря :))
0

#5
Потребителят е неактивен   Aleks96 

  • Група: Потребители
  • Мнения: 5
  • Регистриран: 08-April 17
  • Репутация: 0
  • Пол:Жена
  • Град:София

Преглед на мнениеmarxism, на 08.04.17 - 13:05, каза:

#include "stdafx.h"
#include <iostream>
using namespace std;

void main()
{
	double a[2];
	double b[2];
	double c[2];
	double n;
	double p;
	double z;

	cout << "Vavedi katet 1 na purviq triugulnik: ";
	cin >> a[0];
	cout << "Vavedi katet 2 na purviq triugulnik: ";
	cin >> a[1];
	cout << "Vavedi katet 1 na vtoriq triugulnik: ";
	cin >> b[0];
	cout << "Vavedi katet 2 na vtoriq triugulnik: ";
	cin >> b[1];
	cout << "Vavedi katet 1 na tretiq triugulnik: ";
	cin >> c[0];
	cout << "Vavedi katet 2 na tretiq triugulnik: ";
	cin >> c[1];
	n = (a[0] * a[0]) + (a[1] * a[1]);
	p = (b[0] * b[0]) + (b[1] * b[1]);
	z = (c[0] * c[0]) + (c[1] * c[1]);

	if (n < p && n < z) {
		cout << "Triugulnik 1 e s nai-malka hipotenuza" << endl;
	}
	else if (p < n&& p < z) {
		cout << "Triugulnik 2 e s nai-malka hipotenuza" << endl;
	}
	else if (z < n&&z < p) {
		cout << "Triugulnik 3 e s nai-malka hipotenuza" << endl;
	}
	else {
		cout << "Ima ravni hipotenuzi" << endl;
	}
}

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



Благодаря много! :))
0

#6
Потребителят е неактивен   georgedimov 

  • Група: Потребители
  • Мнения: 5297
  • Регистриран: 26-May 03
  • Репутация: 57
  • Пол:Мъж
  • Град:Велико Търново

Преглед на мнениеinedx, на 09.04.17 - 13:40, каза:

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    double *a, *b, min, hyp; // it works but...
double t; // maybe needed
    unsigned int n,mx; // int only is possibly wrong -- in C(++) indexes must be unsigned !
 // from here   
    cout<<"N = ";
    cin>>n;
    if (n<1) return 1;
    
    a = new double[n];
    b = new double[n];
 // to here -- nothing wrong   
    for (int i=0; i<n; ++i)
    { 
// modified from here ...
do {       
     cout << "\nA" << i+1 << " = ";
     cin >> t;
    } while (t <=0.);
    a[i] = t;
do {       
     cout << "\nB" << i+1 << " = ";
     cin >> t;
    } while (t <=0.);
    b[i] = t;
// ... to here because the lenght of sides must be positive !
        hyp = hypot(a[i],b[i]);
        if (i==0|| hyp<min) {min=hyp; mx=i;}
    }
    cout<<"\nTriangle A"<<mx+1<<" = "<<a[mx];
    cout<<"  B"<<mx+1<<" = "<<b[mx];
    cout<<"\nMinimal Hypotenuse = "<<min<<endl;
// who must be the cleaner for your dynamical garbage ?
    delete [] a;
    delete [] b;
// compiler, not sure ...
    return 0; // usually not needed
}


Мнението беше редактирано от georgedimov: 01.05.17 - 12:42

0

Споделете тази тема чрез:


Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

1 потребители четат тази тема
0 регистрирани потребители, 1 гости и 0 анонимни потребители


Data.BG e форум за дискусии. Data.BG не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Data.BG.

Close  Member Login