Форум программистов, компьютерный форум CyberForum.ru

Подпрограммы - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
mckent
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 14
05.02.2011, 19:18     Подпрограммы #1
Добрый день.Можете помочь написать 2 программы в borland C++
Помогите пожалуйсто.Заранее благодарен!

1)Создать подрограмму,которая за стороной "a" определяла бы периметр квадрата и его диагональ.В программе организовать вызов этой подпрограммы..

2)Есть натуральное число "n" и последовательность действительных чисел
(x1;y1),(x2;y2),..(xn,yn).Написать к программе подпрограмму,и воспользывавшись ней определить ту пару чисел,для которой модуль разницы между сумой и умножением есть самым маленьким.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2011, 19:18     Подпрограммы
Посмотрите здесь:

C++ Подпрограммы
C++ Подпрограммы
C++ Подпрограммы
C++ на подпрограммы
C++ ПОДПРОГРАММЫ
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
05.02.2011, 19:29     Подпрограммы #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
double per(double a)
{
    return 4*a;
}
 
double diag(double a)
{
    return sqrt(2.0*a*a); 
}
 
int main()
{
  double a;
  printf("Enter a ->");
  scanf("%lf",&a);
  printf("\nPer -> %lf ",per(a));
  printf("\nDiag -> %lf ",diag(a));
  getch();
 return 0;
}
mckent
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 14
05.02.2011, 19:35  [ТС]     Подпрограммы #3
Это первая?А вторую можете сделать пожалуйсто?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
05.02.2011, 19:55     Подпрограммы #4
mckent, а по-русски нельзя?
mckent
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 14
05.02.2011, 20:01  [ТС]     Подпрограммы #5
Что именно?Вроде и так все по русски написано...
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
05.02.2011, 20:05     Подпрограммы #6
mckent, проверяйте

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
 
int min(int *x, int *y, int n)
{
    int min=abs((x[0]+y[0])-(x[0]*y[0]));
    int i,cnt_min=0;
    for(i=0; i<n; i++)
    {
        if(abs((x[i]+y[i])-(x[i]*y[i]))<min)
        {
            min=abs((x[i]+y[i])-(x[i]*y[i]));
            cnt_min=i;
        }
    }
  return cnt_min;
}
 
int main()
{
  srand(unsigned(time(NULL)));
  int n,i,tmp;
  int *x,*y;
  printf("Enter n -> ");
  scanf("%d",&n);
  x=(int*)malloc(n*sizeof(int));
  y=(int*)malloc(n*sizeof(int));
  printf("x -> ");
  for(i=0; i<n; i++)
  {
      x[i]=rand()%9;
      printf("%d  ",x[i]);
      y[i]=rand()%9;
  }
  printf("\ny -> ");
  for(i=0; i<n;printf("%d  ",y[i++]));
  tmp=min(x,y,n);
  printf("\nResult\n  x[%d]=%d\n  y[%d]=%d",tmp+1,x[tmp],tmp+1,y[tmp]);
  free(x);
  free(y);
  getch();
 return 0;
}
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
05.02.2011, 20:08     Подпрограммы #7
Цитата Сообщение от mckent Посмотреть сообщение
Что именно?Вроде и так все по русски написано...
То есть периметр надо вычислять не в процессоре, а фиг знает где за стороной не понятно чего? И что значит
Цитата Сообщение от mckent Посмотреть сообщение
модуль разницы между сумой и умножением есть самым маленьким.
?
mckent
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 14
05.02.2011, 20:09  [ТС]     Подпрограммы #8
Воспользывавшись подпрограммой, определить ту пару чисел, для которой модуль разности между суммой и произведением является наименьшим.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
05.02.2011, 20:17     Подпрограммы #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void search(double *a, int n, int &i, int &j)
{
 double *p1,*p2,*p3, *p4;
 for (p1=&a[n], p3=p1, p4=a; p1>a; --p1)
 {
  for (p2=p1-1; p2>=a; --p2)
  {
   if (abs(*p1+*p2-*p1*(*p2))<abs(*p3+*p4-*p3*(*p4)))
   {
    p3=p1;
    p4=p2;
   }
  }
 }
 i=p3-a;
 j=p4-a;
}
mckent
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 14
05.02.2011, 20:21  [ТС]     Подпрограммы #10
За первую спасибо.
Со второй помогите пожалуйсто)
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
05.02.2011, 20:24     Подпрограммы #11
mckent, а мой текст чем тебя не устраивает?
mckent
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 14
05.02.2011, 20:26  [ТС]     Подпрограммы #12
А это ко второй?))
Ну не знаю,у меня там в условии x,y ,вы используете какие то p1,p2,p3,p4,i,j
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
05.02.2011, 20:27     Подпрограммы #13
mckent, смотрите 6 пост!!!!
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
05.02.2011, 20:29     Подпрограммы #14
А какая разница, что там внутри? В синтаксисе вызова a, n, i, j.

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void search(double *x, int n, int &i, int &j)
{
 double *p1,*p2,*p3, *p4;
 for (p1=&x[n], p3=p1, p4=x; p1>x; --p1)
 {
  for (p2=p1-1; p2>=x; --p2)
  {
   if (abs(*p1+*p2-*p1*(*p2))<abs(*p3+*p4-*p3*(*p4)))
   {
    p3=p1;
    p4=p2;
   }
  }
 }
 i=p3-x;
 j=p4-x;
}
. Вот теперь x, n, i, j.
mckent
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 14
05.02.2011, 20:30  [ТС]     Подпрограммы #15
Milan,я видел,спасибо.Но он уж больно умный для меня
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
05.02.2011, 20:30     Подпрограммы #16
Какой оператор непонятен?
mckent
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 14
05.02.2011, 20:32  [ТС]     Подпрограммы #17
У милана,что за инклуд тайм,непонятно.Просто его ещо не изучал...

А у вас p1,p2,p3,p4 что это?)
И можете изменить пожалуйсто на x и y
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
05.02.2011, 20:43     Подпрограммы #18
Цитата Сообщение от mckent Посмотреть сообщение
У милана,что за инклуд тайм,непонятно.Просто его ещо не изучал...
Вот так более понятно?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define n 6
 
int min(int x[], int y[])
{
    int min=abs((x[0]+y[0])-(x[0]*y[0]));
    int i,cnt_min=0;
    for(i=0; i<n; i++)
    {
        if(abs((x[i]+y[i])-(x[i]*y[i]))<min)
        {
            min=abs((x[i]+y[i])-(x[i]*y[i]));
            cnt_min=i;
        }
    }
  return cnt_min;
}
 
int main()
{
  int i,tmp;
  int x[n],y[n];
  for(i=0; i<n; i++)
  {
      printf("\nEnter x[%d] -> ",i+1);
      scanf("%d",&x[i]);
      printf("\nEnter y[%d] -> ",i+1);
      scanf("%d",&y[i]);
  }
  printf("\nx -> ");
  for(i=0; i<n;printf("%d  ",x[i++]));
  printf("\ny -> ");
  for(i=0; i<n;printf("%d  ",y[i++]));
  tmp=min(x,y);
  printf("\nResult\n  x[%d]=%d\n  y[%d]=%d",tmp+1,x[tmp],tmp+1,y[tmp]);
  getch();
 return 0;
}
mckent
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 14
05.02.2011, 20:48  [ТС]     Подпрограммы #19
Да,но что такое tmp и #define n 6 ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2011, 20:52     Подпрограммы
Еще ссылки по теме:

Подпрограммы C++
C++ подпрограммы
C++ Подпрограммы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
05.02.2011, 20:52     Подпрограммы #20
Цитата Сообщение от mckent Посмотреть сообщение
Да,но что такое tmp и #define n 6 ?
tmp - переменая
#define - деректива препроцессора (типа n - константа)
Yandex
Объявления
05.02.2011, 20:52     Подпрограммы
Ответ Создать тему
Опции темы

Текущее время: 19:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru