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

Площадь многоугольника - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ приоритет. странно http://www.cyberforum.ru/cpp-beginners/thread635171.html
привет всем прогерам С++ =) есть такой вопрос. Вроде ни чего сложного, но компилятор компилит это дело не так как ожидается. Есть такое предложение. IN = *block++ << 8; если указатель block ссылается на начало массива M M = {1,2,3,4,5,6,7,8,9,10}; То по таблице приоритетов сначала выполнится ++ затем * после << и только в конце будет =. В IN должно оказаться число 512:ireful:, НОоо...
C++ Перегрузка бинарной операции < Всем привет написал перегрузку для структуры: typedef struct t_FileInfo { t_String file_name; /*имя файла*/ t_String file_way; /*адрес к файлу*/ /*конструктор с параметрами*/ t_FileInfo(t_String fn = (""), t_String fw = ("")) : http://www.cyberforum.ru/cpp-beginners/thread635163.html
C++ Не инициализируется переменная
Проблема в том, что строка номер 18 полностью игнорируется, почему - вообще не понимаю. Значение i остается абракадаброй или нулем, если заранее проинициализировать переменную. #include "std_lib_facilities.h" int main() { setlocale(LC_CTYPE,"RUS"); setlocale( LC_ALL,"" ); vector<double>numbers; //вектор, куда будут добавляться числа, по мере набора их пользователем
C++ Советы
Привет всем! Я начинающий программист (и довольно молодой :D), и недавно написал "игру" как бы с помощью "классов", по типу tic-tac-toe, и мне хотелось бы выслушать мнение по коду профессиональных и опытных программистов, и, так сказать, вытащить на путь истинный, заранее спасибо за советы :) Содержимое: main.cpp #include "Game.h" int main() { // Регистрируем объект Game game(4); //...
C++ Переделать код с С на С++ http://www.cyberforum.ru/cpp-beginners/thread635094.html
Здравствуйте! Помогите перевести код с С на С++. Нужно использовать STL vector. Спасибо! #include <stdio.h> #include <stdlib.h> __int64 cmp(const void *a, const void *b) { __int64 *pa = (__int64 *)a, *pb = (__int64 *)b; return *(__int64 *)pa - *(__int64 *)pb; }
C++ Удаление слова введенного пользователем Здраствуйте.Я новичек в программирование так что нужна помощь. Вводится строка, позьзователь вводит слово которое нужно удалить,вывести полученную строку. подробнее

Показать сообщение отдельно
Динар19
0 / 0 / 0
Регистрация: 21.07.2012
Сообщений: 13
09.08.2012, 13:48  [ТС]     Площадь многоугольника
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
47
48
49
50
#include<iostream>
#include<cstdlib>
#include<cmath>
using namespace std;
float Ploshad(float x[],float y[], const int n);
int main(){
  int i,n1,n2;
  cout<<"Vvedite kolichectvo uglov 1 mnogouglnika="<<n1;
  cout<<"Vvedite kolichectvo uglov 2 mnogouglnika="<<n2;
  float x1[n1+1],y1[n1+1],x2[n2+1],y2[n2+1];
  cout<<"Vvedite koordinaty vershin 1 mnogouglnika=";
  cout<<"Vvedite koordinaty vershin 2 mnogouglnika=";
  // вводим координаты вершин 1 многоугольника
   for(i=1;i<=n1;i++){
       cout<<"x1["<<i<<"]="; cin>>x1[i]; cout<<" ";
       cout<<"y1["<<i<<"]="; cin>>y1[i]; cout<<endl;};
  x1[n1+1]=x1[1];
  y1[n1+1]=y1[1];
      // вводим координаты вершин 1 многоугольника
  for(i=1;i<=n2;i++){
     cout<<"x2["<<i<<"]="; cin>>x2[i]; cout<<" ";
     cout<<"y2["<<i<<"]="; cin>>y2[i]; cout<<endl;};
  x2[n2+1]=x2[1];
  y2[n2+1]=y2[1];
  float s1,s2;
  s1=Ploshad(x1,y1,n1+1);
  cout<<"S1="<<s1;
  s2=Ploshad(x2,y2,n2+1);
  cout<<"S2="<<s2;
return(0);};
 
float Ploshad(float x[],float y[], const int n){
    int min=1,max=1,i;
    // находим крайние вершины по оси 0х
    for(int i=0;i<=n;i++){
     if (x[min]<x[i]) min=i;
     if (x[max]>x[1]) max=i;};
   float s1=0, s2=0,s=0;
   // площадь многоугольника, разбивая на трапеции ( 2 случая)
  if (max>min) {
     i=min; while(i<max){s1=s1+(y[i+1]+y[i])*(x[i+1]-x[i])/2;i++;};
     i=max; while(i<n+1){s2=s2+(y[i+1]+y[i])*(x[i+1]-x[i])/2;i++;};
     i=1; while(i<min){s2=s2+(y[i+1]+y[i])*(x[i+1]-x[i])/2;i++;};
     }
  else {
     i=max; while(i<min) {s1=s1+(y[i+1]+y[i])*(x[i+1]-x[i])/2;i++;};
     i=min; while(i<n+1) {s2=s2+(y[i+1]+y[i])*(x[i+1]-x[i])/2;i++;};
     i=1; while(i<max) {s2=s2+(y[i+1]+y[i])*(x[i+1]-x[i])/2;i++;};};
  s=abs(s1-s2);
    return(s);};
Добавлено через 1 минуту
обязательно выделять динамический массив?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru