Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> функцыи в BC 3.1 
V
    Опции темы
Веталька
Дата 31.1.2009, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 2.11.2008

Репутация: нет
Всего: 6



Доброго времини суток, помогите разобратся с задачкой, нужно пощитать длину 10 угольника,  написав при етом функцыю расчета длыны между точками, вот что у меня получилось 

Код

#include <stdio.h>
#include <conio.h>
#include <math.h>
float stor(float x1,float x2,float y1,float y2)
{
    float s;
    s = sqrt(pow((x2-x1),2) + pow((y2-y1),2));
    return s;
};
int main()
{
    clrscr();
    printf("Vvedit koordinati\n\n");
    int x, y, a[2][11];
    for (int i=1; i<=10; i++)
    {
        printf("X%d = ",i);
        scanf("%d", &a[1][i]);
        printf("Y%d = ",i); 
        scanf("%d", &a[2][i]);
    }
    float p = 0;
    for (i=2; i<=10; i++)
    p = p + stor(a[1][i-1],a[1][i],a[2][i-1],a[2][i]);
    printf("\nPerimetr desyatikutnika P = %f", p);
    printf("\nDlya vihoda natisnit lubu klavishu");
    getch();
    return 0;
}



но к сожалению прога врет, и немного подвисает, подскажите в чем я ошибся.



--------------------
Ради зачета студент идет на все, даже на лекции........................ 
PM MAIL ICQ   Вверх
Dmi3ev
Дата 31.1.2009, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

int x, y, a[2][11];

ну во первых a[2][11] это значить что у тебя массив 2 на 11, но в с++ нумерация начинается с 0, те есть a[0][0] и есть a[1][0] a вот  a[2][0] нет
Код

scanf("%d", &a[2][i]);

a[2][i] не катит...


--------------------

PM MAIL   Вверх
Веталька
Дата 31.1.2009, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 2.11.2008

Репутация: нет
Всего: 6



думаеш из за етого ответ неверный?, ща выправлю, спасибо!


теперь комп зависает  smile , интересно прога или компилятор smile 

Это сообщение отредактировал(а) Веталька - 31.1.2009, 20:48


--------------------
Ради зачета студент идет на все, даже на лекции........................ 
PM MAIL ICQ   Вверх
mes
Дата 31.1.2009, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Веталька @  31.1.2009,  19:45 Найти цитируемый пост)
думаеш из за етого ответ неверный?

с этим ответ просто не может быть верный smile



--------------------
PM MAIL WWW   Вверх
Dmi3ev
Дата 31.1.2009, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

    for (i=2; i<=10; i++)
    p = p + stor(a[1][i-1],a[1][i],a[2][i-1],a[2][i]);

а вот тут ошибка математики, ты проходишь этот цикл 9 раз , а отрезков в 10угольнике - 10)))
первая с последней точкой тоже соединяться должны...

Добавлено @ 21:16
ща напишу...

Это сообщение отредактировал(а) Dmi3ev - 2.2.2009, 03:44


--------------------

PM MAIL   Вверх
mes
Дата 31.1.2009, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



и массив логичнее объявлять не как a[2][...] ,  а a[...][2] .

Это сообщение отредактировал(а) mes - 31.1.2009, 21:19


--------------------
PM MAIL WWW   Вверх
Dmi3ev
Дата 31.1.2009, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

и массив логичнее объявлять не как a[2][...] ,  а a[...][2] .

да, да, да...

Добавлено через 3 минуты и 35 секунд
вот, поел, написал)))
Код

#include <iostream.h>
#include <math.h>
//---------------------------------------------------------------------------
struct point
{
 double x;
 double y;
};
//---------------------------------------------------------------------------
double PtoP(struct point p1, struct point p2)
{
 return (sqrt(pow(p1.x-p2.x,2)+pow(p1.y-p2.y, 2)));
}
//---------------------------------------------------------------------------
int main()
{
struct point myp[10];
double p=0;
for (int i=0; i<10; i++)
 {
  cout<<"Point"<<i+1<<endl;
  cout<<"X=";
  cin>>myp[i].x;
  cout<<endl;

  cout<<"Y=";
  cin>>myp[i].y;
  cout<<endl;

  cout<<"-------------------"<<endl;
 }
for (int i=0; i<9; i++)
 {
  p+=PtoP(myp[i], myp[i+1]);
  cout<<p<<endl;
 }
p+=PtoP(myp[0], myp[9]);

cout<<p<<endl;
system("pause");
return 0;
}
//---------------------------------------------------------------------------

вот так решил сделать, на скорую руку... не судите строго...)))


--------------------

PM MAIL   Вверх
mes
Дата 31.1.2009, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



замечания по мелочам:
перенести бы 18ю строчку  поближе к  месту использования (после 31 строчки)
а также блок 32-37 можно оформить как функцию. 
 smile 

Это сообщение отредактировал(а) mes - 31.1.2009, 22:09


--------------------
PM MAIL WWW   Вверх
Веталька
Дата 31.1.2009, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 2.11.2008

Репутация: нет
Всего: 6



Dmi3ev, mes большое СПАСИБО за помощь smile  
Код

for(int t =1; i>1;i++)
{printf("thanks");}


Добавлено через 3 минуты и 37 секунд
Можно еще один вопрос в етой теме?, что такое покажчики и с чем их кушать?


--------------------
Ради зачета студент идет на все, даже на лекции........................ 
PM MAIL ICQ   Вверх
Dmi3ev
Дата 31.1.2009, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

перенести бы 18ю строчку  поближе к  месту использования (после 31 строчки)
а также блок 32-37 можно оформить как функцию. 

это да... smile 
Цитата

что такое покажчики и с чем их кушать? 

я такого слова даже не знаю - покажчики... 


--------------------

PM MAIL   Вверх
mes
Дата 31.1.2009, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Веталька @  31.1.2009,  21:18 Найти цитируемый пост)
что такое покажчики и с чем их кушать? 

это указатели .. ну а с чем едят подробно написано в книжках (не кулинарных) smile


--------------------
PM MAIL WWW   Вверх
Веталька
Дата 31.1.2009, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 2.11.2008

Репутация: нет
Всего: 6



Цитата

я такого слова даже не знаю - покажчики... 


чему учат то и спрашиваю  smile 

Цитата

это указатели .. ну а с чем едят подробно написано в книжках (не кулинарных) 


а можно ссылочку?, или название какойто книги?


Это сообщение отредактировал(а) Веталька - 31.1.2009, 22:58


--------------------
Ради зачета студент идет на все, даже на лекции........................ 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0593 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.