Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kdo je autorem výstavy obrazových fotografií „Očima Hanse Christiana Andersena“?

V dnešní soutěži hrajeme o:



podobnost trojúhelníku

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: podobnost trojúhelníku

Autor: TC ♂

15:21:17 04.12.2012

Jde to i v jinem dialektu:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace Keyzi
{
class Program
{
const double gauge = 0.001;
static void Main(string[] args)
{
var triangleA = Triangle("Give me the first");
if (triangleA == null) return;
var triangleB = Triangle("Give me the second");
if (triangleB == null) return;

var scale = triangleA[0] / triangleB[0];
for (int i = 1; i < 2; i++)
{
var s = triangleA[i] / triangleB[i];
if (Math.Abs(s - scale) > gauge) { Console.WriteLine("false"); return; }
}
Console.WriteLine("happy");
}

static double[] Triangle(string text)
{
Console.Write("{0}:?", text);
var str = Console.ReadLine();
var pt = Regex.Split(str, @"[\s\r\n;,\t]+");
if (pt.Length != 3) return null;
var ret = new double[3];
for (int i = 0; i < 3; i++)
if (!double.TryParse(pt[i], out ret[i])) return null;
Array.Sort(ret);
return ret;
}
}
}


Zdravim

TC

Citovat příspěvek

 

Re: podobnost trojúhelníku

Autor: jozef123 ♂

22:32:10 26.10.2012

Najprv priraď v prvom trojuholniku do A najväčšiu hodnotu ,do B strednú hodnotu,do C najmenšiu hodnotu.
To isté v druhom trojuholniku do D,E,F.
Ak A/D==B/E==C/F trojuholníky sú zhodné.

Citovat příspěvek

 

Re: podobnost trojúhelníku

Autor: keyzio ♂

11:52:20 25.10.2012

Nyní jsem to dal do formátu v jakém to mám odevzdat----

v kódu: "printf("rozhodnuti o podobnosti trojuhelniku");" má být nejaká podmínka, ale nvevím si rady jaká

#include <stdio.h>

main()
{
double A;
double B;
double C;
double D;
double E;
double F;

printf("Zadejte velikost stran prveho trojuhelniku:\n");
scanf("%lf%lf%lf", &A, &B, &C);
if ( A + B <= C || A + C <= B || B + C <= A || A <= 0 || B <= 0 || C <= 0 ) {
printf("Nespravny vstup.\n");
}
else {
printf("Zadejte velikost stran druheho trojuhelniku:\n");
scanf("%lf%lf%lf", &D, &E, &F);
if ( D + E <= F || D + F <= E || E + F <= D || D <= 0 || E <= 0 || F <= 0 ) {
printf("Nespravny vstup.\n");
}
else {
printf("rozhodnuti o podobnosti trojuhelniku");
}
}
}

Citovat příspěvek

 

podobnost trojúhelníku

Autor: keyzio ♂

11:10:33 25.10.2012

Ahoj, začínám programovat v čistém C a ve škole jsem dostal domácí úkol. Zjistit zda jsou si 2 trojúhelníky podobné ve smyslu geometrickém (stejný poměr stran) .
problémy:

* nevím jak naprogramovat podmínku kdy se testuje - A == k*D - (k ∈ Z)
* Při porovnávání desetinných čísel netestujte hodnoty na přesnou shodu. Za podobné považujte trojúhelníky, kde rozdíl poměrů nepřesáhne 1 promile.

zatím jsem vytvořil tohle:

#include <stdio.h>

main()
{
double A;
double B;
double C;
double D;
double E;
double F;

printf("Zadejte strany trojuhelniku: \n\n");
printf("zadejte první číslo: ");
scanf("%lf", &A);
printf("zadejte druhé číslo: ");
scanf("%lf", &B);
printf("zadejte třetí číslo: ");
scanf("%lf", &C);
printf("\n");

if ( A + B < C || A + C < B || B + C < A || A <= 0 || B <= 0 || C <= 0) {
printf("Zadali jste špatný poměr stran (není trojúhelník)\nnebo se nejedná o kladné číslo.\n\n");
}
else {
printf("zadali jste:\n\nstranu A: %3.1lf\nstranu B: %3.1lf\nstranu C %3.1lf\n\n", A, B, C);
}


printf("Zadejte strany druhého trojuhelniku: \n\n");
printf("zadejte první číslo: ");
scanf("%lf", &D);
printf("zadejte druhé číslo: ");
scanf("%lf", &E);
printf("zadejte třetí číslo: ");
scanf("%lf", &F);
printf("\n");

if ( D + E < F || D + F < E || E + F < D || D <= 0 || E <= 0 || F <= 0) {
printf("Zadali jste špatný poměr stran (není trojúhelník)\nnebo se nejedná o kladné číslo.\n\n");
}
else {
printf("zadali jste:\n\nstranu D: %3.1lf\nstranu E: %3.1lf\nstranu F %3.1lf\n\n", D, E, F);
}
}

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: