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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2012, 12:55   #1
L01
Пользователь
 
Регистрация: 14.04.2012
Сообщений: 25
По умолчанию Функции с числовыми параметрами

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

Что то я не понял вопроса. Тебе алгоритм расчета нужен?
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 21.04.2012, 21:34   #3
L01
Пользователь
 
Регистрация: 14.04.2012
Сообщений: 25
По умолчанию

Код:
#include<stdio.h>
#include<math.h>
#include<locale.h>

int main(double R1,R2,S1,S2,int i);
{
	setlocale(0,"Russian");
	RingS(double R);
    S=pi*pow(R,2);
    for(i=1;i<=3;i++)
	printf("Введите радиус внешнего кольца:\n");
	scanf("%lf",&R1);
	printf("Введите радиус внутренного кольца:\n");
	scanf("%lf",&R2);
	if(R2<R1)
	else 
		printf("ошибка! Указан радиус внешнего кольца, меньший, чем радиус внутренного!");
	printf("Площадь %d фигуры, RingS(R1)-RingS(R2)",i);
	getch();
	return 0;
}

Последний раз редактировалось ACE Valery; 22.04.2012 в 19:25.
L01 вне форума Ответить с цитированием
Старый 21.04.2012, 21:35   #4
L01
Пользователь
 
Регистрация: 14.04.2012
Сообщений: 25
По умолчанию

так ли выглядит эта программа???
L01 вне форума Ответить с цитированием
Старый 21.04.2012, 22:26   #5
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Зачем вы определяете переменные для расчета как аргументы функции main. Можно создать или функцию отдельную. Или объявить их внутри функции main.

RingS(double R); - эта строчка кода не очень понятна. Что она выполняет поясните и где сама эта функция.
Переменные, объявленные в функции main (S1,S2) в программе их невидно, зачем они?

В формуле расчета есть переменная R, но она не определена и её значение тоже неизвество
Код:
if(R2<R1)
else 
printf("ошибка! Указан радиус внешнего кольца, меньший, чем радиус внутренного!");
printf("Площадь %d фигуры, RingS(R1)-RingS(R2)",i);
Если я правильно понял что если радиус внешнего меньше радиуса внутреннего то должно выводится сообщение. Этот код должен так выглядеть:

Код:
if(R2 < R1)
printf("ошибка! Указан радиус внешнего кольца, меньший, чем радиус внутренного!");
else 
printf("Площадь %d фигуры, RingS(R1)-RingS(R2)",i);
Если я не ошибаюсь формула S=pi*pow(R,2); должна объявляться после введения радиусов.

Объявление счетчика цикла гораздо лучше будет объявить внутри него. т.е. не так:
Код:
int main(double R1,R2,S1,S2,int i);
а вот так:
Код:
for(int i = 1; i <= 3; i++)
///.....////
Так же не вижу объявления переменной S;
Вобщем программа неверна
Программа должна выглядеть примерно так:
1. Объявление необходимый переменных в данном случае если код представлен весь это: S,R1,R2
2. Запрос ввода данных
3. Проверка данных
4. После ввода написать формулу S=pi*pow(R,2)
5. Вывод на экран необходимый данных
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.

Последний раз редактировалось kineziz; 21.04.2012 в 22:33.
kineziz вне форума Ответить с цитированием
Старый 22.04.2012, 15:12   #6
L01
Пользователь
 
Регистрация: 14.04.2012
Сообщений: 25
По умолчанию

Код:
#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;
 }

Последний раз редактировалось ACE Valery; 22.04.2012 в 19:25.
L01 вне форума Ответить с цитированием
Старый 22.04.2012, 15:14   #7
L01
Пользователь
 
Регистрация: 14.04.2012
Сообщений: 25
По умолчанию

Вроде исправила.
L01 вне форума Ответить с цитированием
Старый 22.04.2012, 22:28   #8
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Скинь мне свою асю в личку я тебе объясню
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Ответ


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



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