Страница 1 из 1

Нужна помощь в написании нескольких программ на СИ (желательно с коментариями)

Добавлено: 04 ноя 2010, 11:42
Александр Неврогов
Буду очень благодарен человеку, который мне поможет написать слейдующие программы:
1. Вычислить площадь и периметр прямоугольного треугольника, длины 2-х сторон которого вводятся с клавиатуры. Вводятся 2 катета.
2. Вывести на экран арифметическую прогрессию (любую). C клавиатуры вводится к-во элементов. На экран выводится сумма этих элементов и сами элементы прогрессии.
3. Определить суммарный объем в метрах N вложенных друг в друга шаров со стенками T см. Внутренний диаметр внутреннего шара равен R см. Считать, что шары вкладываются друг в друга без зазора. (Объем шара вычисляется по формуле V=4/3 * pi * R * R * R ;) .
4. Перевод из 10-й системы счисления в 2-ю.
5. Решение квадратного уравнения полное.
6. Перевод из любой системы счисления в 10-ю и из 10-й в любую.


Заранее огромное спасибо!

Re: Нужна помощь в написании нескольких программ на СИ (желательно с коментариями)

Добавлено: 04 ноя 2010, 12:00
Albor
3. Суммарный объём будет равен объёму внешнего шара. Весь рассчёт сводится к вычичлению радиуса внешнего шара и его объёма без суммирования.

Re: Нужна помощь в написании нескольких программ на СИ (желательно с коментариями)

Добавлено: 04 ноя 2010, 12:02
Александр Неврогов
Albor писал(а):3. Суммарный объём будет равен объёму внешнего шара. Весь рассчёт сводится к вычичлению радиуса внешнего шара и его объёма без суммирования.
А что насчёт кода ? ;)

Re: Нужна помощь в написании нескольких программ на СИ (желательно с коментариями)

Добавлено: 04 ноя 2010, 12:08
Albor
Решение большинства из этих задач есть на этом форуме. В этом разделе хочется видеть что Вы уже сделали и что не получается. Если нужно готовое решение, то Вам в РМЗ.

Re: Нужна помощь в написании нескольких программ на СИ (желательно с коментариями)

Добавлено: 04 ноя 2010, 12:10
Александр Неврогов
Albor писал(а):Решение большинства из этих задач есть на этом форуме. В этом разделе хочется видеть что Вы уже сделали и что не получается. Если нужно готовое решение, то Вам в РМЗ.
Буду благодарен за ссылки на решение. Ну или хотябы на раздел. (Поскольку я здесь недавно - > плохо ориентируюсь на форуме) Спасибо.

Re: Нужна помощь в написании нескольких программ на СИ (желательно с коментариями)

Добавлено: 04 ноя 2010, 12:14
Albor
Раздел Алгоритмы - Решение типовых задач. А ещё есть поиск.

Re: Нужна помощь в написании нескольких программ на СИ (желательно с коментариями)

Добавлено: 04 ноя 2010, 12:15
Александр Неврогов
Спасибо :)

Re: Нужна помощь в написании нескольких программ на СИ (желательно с коментариями)

Добавлено: 04 ноя 2010, 14:32
Александр Неврогов
Возник вопрос по 5ому заданию (решение квадратного уравнения)
Я написал код, на мой взгляд правильный математически. Но сам понимаю что есть какие - то ошибки. Может быть кто - то что - то подскажет.
Сам код:

Код: Выделить всё

#include "stdafx.h"
#include <stdio.h>
#include <math.h>


int _tmain(int argc, _TCHAR* argv[])
{
	float a, b, c, s;
	float d,x1,x2;
	printf ("%d" "vvedite a b c: ");
	scanf ("%f""%f""%f", &a, &b, &c);	
	if ( a == 0)
		printf ("%d" "ne ydovletvoryaet yravneniu \n");
	d=(pow(b,2))-(4*a*c);                         //считаем дискриминант
	s=sqrt(d);      
	x1=(-b+s)/2*a;                                //находим х1
	x2=(-b-s)/2*a;                                //находим х2
	{
		if(d>0)                                   //если D>0
			printf("%f\n%f", x1,x2);              //тогда выводим на экран х1,х2
		else                                      //иначе
		if(d==0)                                  //если D=0  
			printf("%f\n", x1);                   //тогда выводим на экран х1
		else                                      //иначе
		if(d<0)                                   //если D<0  
			printf("%s\n", "reshenii net");      //тогда выводим решений нет
	}
            
return 0;
}

Re: Нужна помощь в написании нескольких программ на СИ (желательно с коментариями)

Добавлено: 04 ноя 2010, 15:08
Albor
В чём проявляется ошибка? Я вижу логическую ошибку: после вычисления дискриминанта, нужно сразу проверить его, если он меньше 0, то дальше ни чего не вычислять. Здесь же, сначала производятся вычисления и извлекается корень из, возможно, отрицательного числа.