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

указатели - C++

Восстановить пароль Регистрация
 
KattyAlex
 Аватар для KattyAlex
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 26
12.03.2013, 21:48     указатели #1
В задаче просят вывести периметр пятиугольника заданного своими координатами. Задачу нужно оформить через указатели. Программу я написала, а как её сделать через указатели - ума не приложу. Помогите, пожалуйста.
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
#include<stdlib.h>
#include<iostream>
#include<math.h>
#include<string.h>
 
double way (int x1, int x2, int y1, int y2) {
    return sqrt((x2*x2+2*x2*x1+x1*x1)+(y2*y2+2*y2*y1+y1*y1));
}
 
int main ( ){
    const int n = 5;
    double length = 0;
    double P = 0;
 
    int x[n]={2, 4, 9, 10, 5};
    int y[n]={2, 6, 5, 2, 0};
 
    for(int i=0; i<n-1; i++){
        P=P+way(x[i], x[i+1], y[i], y[i+1]);}
    
    length=way(x[n-1], x[0], y[n-1], y[0]);
    P=P+length;
 
    std::cout<<"Perimetr ="<<P<<std::endl;
 
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2013, 21:48     указатели
Посмотрите здесь:

C++ Указатели
Указатели.... C++
C++ Указатели
Указатели C++
Указатели. C++
Указатели C++
C++ Указатели
C++ Указатели

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
12.03.2013, 22:33     указатели #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
25
26
27
28
double way (int* x1, int* x2, int* y1, int* y2) {
    return sqrt((*x2*(*x2)+2*(*x2)*(*x1)+(*x1)*(*x1))+(*y2*(*y2)+2*(*y2)*(*y1)+(*y1)*(*y1)));
}
 
int main ( ){
    const int n = 5;
    double  length = 0;
    double  P = 0;
 
    int * x=new int[n];
    int * y=new int[n];
 
    for(int i=0,j=n-1;i<n;i++,j--){
        x[i]=i;
        y[i]=j;
    }
 
    for(int i=0; i<n-1; i++){
        P=P+way(x+i, x+(i+1), y+i, y+(i+1));}
 
    length=way(x+(n-1), x, y+(n-1), y);
    P+=length;
 
   std::cout<<"Perimetr ="<<P<<std::endl;
 
    system("pause");
    return 0;
}
Yandex
Объявления
12.03.2013, 22:33     указатели
Ответ Создать тему
Опции темы

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