Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2012, 19:17   #1
S01
Новичок
Джуниор
 
Регистрация: 26.04.2012
Сообщений: 2
По умолчанию Функции с числовыми параметрами

Функции с числовыми параметрами
Proc19. Описать функцию RingS(R1,R2) вещественного типа, находящую площадь кольца, заключённого между двумя окружностями с общим центром и радиусами R1 и R2 (R1 и R2 - вещественные, R1>R2). С её помощью найти площади трёх колец, для которых даны внешние и внутренние радиусы. Воспользоваться формулой площади круга радиуса R: S=пи*R^2. В качестве значения пи использовать 3,14.
Язык программирования- Си.
Вот мой вариант решения:

#include<stdio.h>
#include<math.h>
#include<locale.h>

double Rings(double R1, double R2)
{
double S1, S2;
pi=3.14;
S1 = pi*(R1*R1);
S2 = pi*(R2*R2);
return S1-S2;
}

int main()
{
setlocale(0,"Russian");
double R1, R2;
int i;
for(int i=1;i<=3;i++)
{
printf("Введите радиус внешнего кольца:\n");
scanf("%lf",&R1);
printf("Введите радиус внутреннего кольца:\n");
scanf("%lf",&R2);
if ( R1 < R2 )
else printf("Ошибка! Указан радиус внешнего кольца, меньший, чем радиус внутреннего!");
}
printf("Площадь %d фигуры, RingS(R1)-RingS(R2)",i);
return 0;
}
S01 вне форума Ответить с цитированием
Старый 26.04.2012, 19:18   #2
S01
Новичок
Джуниор
 
Регистрация: 26.04.2012
Сообщений: 2
По умолчанию

проверьте пожалуйста правильность решения!!!
S01 вне форума Ответить с цитированием
Старый 29.04.2012, 18:52   #3
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

1 ошибка:
Код:
    double S1, S2;
	pi=3.14;
Нужно:
Код:
double S1, S2, pi=3.14
2я:
Код:
setlocale(0,"Russian");
Нужно:
Код:
setlocale(LC_ALL, "");
3я:
Код:
       if ( R1 < R2 )
       else printf("Ошибка! Указан радиус внешнего кольца, меньший, чем радиус внутреннего!");
Нужно писать:
Код:
if(R1<R2) printf("Ошибка! Указан радиус внешнего кольца, меньший, чем радиус внутреннего!");
4я:
Код:
for(int i=1;i<=3;i++)
{
       printf("Введите радиус внешнего кольца:\n");
       scanf("%lf",&R1);
       printf("Введите радиус внутреннего кольца:\n");
       scanf("%lf",&R2);	
 if ( R1 < R2 )
       else printf("Ошибка! Указан радиус внешнего кольца, меньший, чем радиус внутреннего!");
	  }
	printf("Площадь %d фигуры, RingS(R1)-RingS(R2)",i);
После if не нужно закрывать цикл. А то получается, что вы вызываете функцию один раз, т.е. только для третьего кольца.
Кроме того, вызов функции неправильный. Нужно писать:
Код:
printf("Площадь %d фигуры, Rings(R1, R2)",i);
Кроме того, вы написали RingS, хотя имя функции - Rings.
rmv240899 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функции с числовыми параметрами L01 Общие вопросы C/C++ 7 22.04.2012 22:28
Функции с числовыми параметрами kuy Паскаль, Turbo Pascal, PascalABC.NET 1 26.10.2011 00:21
Функции с числовыми параметрами Hostlman Помощь студентам 5 22.12.2007 22:21
Функции с числовыми параметрами Hostlman Общие вопросы Delphi 2 21.12.2007 20:19