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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2012, 14:51   #1
D92
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 29
По умолчанию Функции с числовыми параметрами

Функции с числовыми параметрами
Proc19. Описать функцию RingS(R1,R2) вещественного типа, находящую площадь кольца, заключённого между двумя окружностями с общим центром и радиусами R1 и R2 (R1 и R2 - вещественные, R1>R2). С её помощью найти площади трёх колец, для которых даны внешние и внутренние радиусы. Воспользоваться формулой площади круга радиуса R: S=пи*R^2. В качестве значения пи использовать 3,14.
Язык программирования-СИ.
Мой вариант решения:
Код C
Код:
#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 ) 
             printf("Ошибка! Указан радиус внешнего кольца, меньший, чем радиус внутреннего!");
        printf("Площадь %d фигуры, RingS(S1)-RingS(S2)",i);
     }
    return 0;
 }
Проверьте пожалуйста правильность решения!!!! Программа не считает площадь!!!

Последний раз редактировалось Stilet; 07.05.2012 в 21:48.
D92 вне форума Ответить с цитированием
Старый 07.05.2012, 15:00   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

И даже компилируетя?
Код:
double Rings(double R1, double R2)
- эта функция считает площадь.
А что делается здесь?
Код:
printf("Площадь %d фигуры, RingS(S1)-RingS(S2)",i);
для того чтобы посчитать площадь нужно вызвать функцию, передав ей параметры, т.е
Код:
printf("Площадь  %d фигуры равна %d \n",i, Rings(R1, R2));
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 07.05.2012, 15:29   #3
D92
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 29
По умолчанию

Спасибо большое!!!! Теперь площадь считается.))) Но мне кажется непраильно!!! Возможно, в самой программе есть ошибка????
D92 вне форума Ответить с цитированием
Старый 07.05.2012, 15:46   #4
mrMeerkat
Следопыт
Форумчанин
 
Аватар для mrMeerkat
 
Регистрация: 26.04.2012
Сообщений: 307
По умолчанию

- не %d, а %f нужно во втором случае:
Код:
printf("Площадь  %d фигуры равна %f \n",i, Rings(R1, R2));
подробнее о форматах:
http://www.cplusplus.com/reference/c...cstdio/printf/

- два раза написали "int i"
С Баша:Быть ленивым, глупым, жадным, да и просто редкостным гандоном и мудаком по жизни номально, а вот если ты матом ругаешься-то это да, ужасно и достойно общественного порицания.
mrMeerkat вне форума Ответить с цитированием
Старый 07.05.2012, 16:50   #5
D92
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 29
По умолчанию

Спасибо большое!!!! Теперь всё работает!!!!
D92 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функции с числовыми параметрами L01 Общие вопросы C/C++ 7 22.04.2012 22:28
Функции с числовыми параметрами Hostlman Общие вопросы Delphi 2 21.12.2007 20:19