Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Найти длину катета треугольника


Автор: Гекса 26.7.2014, 16:31
Найти суммарную площадь n прямоугольных треугольников, если длина меньшего катета треугольника равна квадратному корню из длины большего, а длины больших катетов равны а, а/2,...а/n. Найти среднюю длину большего катета. Вот код нахождения площади:

Код

package javaapplication1;

import java.io.*;
public class JavaApplication1 {

   
    public static void main(String[] args)throws IOException {
     int a,n;
     BufferedReader br=new BufferedReader(new InputStreamReader (System.in));
     System.out.print ("Длина большего катета=");
     a=Integer.parseInt (br.readLine ());
     System.out.print ("Количество треугольников=");
     n=Integer.parseInt (br.readLine ());
     double S=0;
     for (int i=1; i<=n; ++i) { a=a/i;
                            double b=Math.sqrt(a);
                            S += 0.5*a*b;}
     System.out.println ("Суммарная площадь треугольников="+S);
}
    
    }
    
Код





Прошу помочь с средней длиной большего катета, я в затруднении.

Автор: Dremuk 27.7.2014, 10:43
a_sred = 0;
for (int i=1; i<=n; ++i) { a_sred += a / i;}
a_sred = a_sred / n;


Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Nayti-dlinu-kateta-treugolnika-id53d3ae0fae20155c668b4567#findElement_E7045_53d4adb3ae2015560fe4ba9a_0

Автор: Гекса 11.8.2014, 08:41
Ответ неправильный...

Автор: Mirkes 11.8.2014, 13:02
Вообще-то у Dremuk код правильный. А вот код нахождения суммарной площади точно неправильный  smile 

Код

package javaapplication1;
import java.io.*;
public class JavaApplication1 {
   
    public static void main(String[] args)throws IOException {
     int a,n;
     BufferedReader br=new BufferedReader(new InputStreamReader (System.in));
     System.out.print ("Длина большего катета=");
     a=Integer.parseInt (br.readLine ());
     System.out.print ("Количество треугольников=");
     n=Integer.parseInt (br.readLine ());
     double S=0,c
     for (int i=1; i<=n; ++i) { c=a/i;              //Вот здесь и была ошибка!
                            double b=Math.sqrt(с);
                            S += 0.5*с*b;}
     System.out.println ("Суммарная площадь треугольников="+S);
}
    
    }
    



Автор: Dremuk 12.8.2014, 22:14
Да. Для средней длины большего катета я код верный написал

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Nayti-dlinu-kateta-treugolnika-id53d3ae0fae20155c668b4567#findElement_E7045_53ea679bae2015ae33b41847_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)