Име: Парола: Скрит | Регистрирай се

Задача на C++

Заявки.Търся

Модератори: Форум Модератори, Екип Банове

Задача на C++

Мнениеот m3ry.jane » 02 Май 2017, 22:49

Имам следната задача за курсова работа:
В масивите х1,х2...........,хn и у1,у2,.......,уn се съдържат координатите на n точки. Последователно съединени, точките образуват начупена линия с n-1 отсечки. Да се напише програма за намиране процента на отсечките с дължина под средната в начупената линия. В програмата да се използват динамични масиви.

Написах кода, тествах, но мисля че смята грешно, нека някой който разбира да види кода и да ми каже дали греша и къде. Ще съм много благодарна!


Код за потвърждение: Избери целия код
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
void main () {
   system ("chcp 1251");
   int i, n;
   double br;
 float *x,*y,*l, sum=0, sdOt=0, s=0, dx, dy, pr;
printf("Въведете брой точки: ");
scanf("%d", &n);
 x = new float[n];
 y = new float[n];
 l = new float[n-1];
 for (i=0; i<n; i++)
 {   printf("x y координати на точка %d: ", i);
     scanf("%f %f", &x[i], &y[i]);
 }
 for (i=0; i<n-1; i++)
 { dx=x[i+1]-x[i];
   dy=y[i+1]-y[i];
   sdOt+=sqrt(pow(dx,2)+pow(dy,2));
   l[i]=sdOt; sum+=l[i];
   printf("Дължината на %d отсечка е %0.2f\n", i+1, sdOt);
 }
s=sum/(n-1);
printf("Дължината на средната отсечка е %0.2f\n", s);
br=0;
pr=1;
 for(i=0; i<n; i++) {
    if (s>l[i]) {br++; }
    br=br/n;
 }
  pr+=br*100;
   printf ("Процента на отсечките с дължина под средната в начупената линия е: %0.2f\n", pr);
 delete []x; delete []y; delete []l;
   system ("pause");
}
Аватар
m3ry.jane
Потребител
Потребител
 
Предупреждения: 0
Мнения: 587
Регистриран на: 18 Сеп 2010, 10:21
Местоположение: Ruse
Име в игра: m3ry.jane

Re: Задача на C++

Мнениеот MORTAL » 04 Май 2017, 08:46

Не съм в час много със С++, но питах един приятел, който каза, че това ще расте постоянно:
Код за потвърждение: Избери целия код
sdOt+=sqrt(pow(dx,2)+pow(dy,2));

Освен ако не го направиш по този начин:
Код за потвърждение: Избери целия код
sdOt=sqrt(pow(dx,2)+pow(dy,2));

Тествай го после :) Успех!

И един съвет от мен: Кръщавай си променливите с някакви по разбираеми и значими имена. Примерно
Arr1, Arr2, и т.н., i и j ползвай само в цикли.
Аватар
MORTAL
Администратор
Администратор
 
Предупреждения: 0
Мнения: 2940
Регистриран на: 18 Юли 2012, 09:08
Местоположение: NULL
Име в игра: [nuPuHcko] MORTAL или друго...
Skype: mortal_666

Re: Задача на C++

Мнениеот EsCapE » 05 Май 2017, 07:33

Kak e bee написа:Аз съм компютърен програмист и разбирам от тия задачи ама няма да ти помогна, не си ми симпатична и малко си пълничка като бидон !

Офтопик:
не малко, а бая си пълничка, ако искаш да отслабнеш малко звънни ми 0886969696


Като си програмист, вземи си пренапиши софтуера, бъгнал си се. Тук не е форум за избиване на комплекси.

Модераторите ще си свършат работата.
EsCapE
 
Предупреждения: 0

Re: Задача на C++

Мнениеот m3ry.jane » 05 Май 2017, 09:31

Mortal, благодаря за помощта!
Доцентката, която ми преподава, ми обесни че трябвало да се натрупва сума още при смятането на дължините, да се раздели на 2, след това да се провери дали има по къси отсечки. Заради това много се обърках. Но вече е готова задачата, само трябва да махна + от
Код за потвърждение: Избери целия код
sdOt+=sqrt(pow(dx,2)+pow(dy,2));

Офтопик:
Атане, спри се бе човек. Не разбра ли след толкова много време, че от обидите ти не се засягам. Иначе на всички в Megagaming ни е ясно какви "компютърни програмисти" сте в село Соколец, които изобщо хабер си нямат какво е C++, че даже и не са го чували.
Вече си в екипа и продължаваш да "обиждаш". Явно още ти държи влага, не ти е минала яростта. Много ми е интересно кого ли накара да ти напише коментара без правописни грешки на български?
Моля колегите да прегледат от кой IP адрес е написан коментара, да видим на кого е този профил "Kak e bee". :)
Аватар
m3ry.jane
Потребител
Потребител
 
Предупреждения: 0
Мнения: 587
Регистриран на: 18 Сеп 2010, 10:21
Местоположение: Ruse
Име в игра: m3ry.jane

Re: Задача на C++

Мнениеот Admin » 05 Май 2017, 12:06

EsCapE написа:
Kak e bee написа:Аз съм компютърен програмист и разбирам от тия задачи ама няма да ти помогна, не си ми симпатична и малко си пълничка като бидон !

Офтопик:
не малко, а бая си пълничка, ако искаш да отслабнеш малко звънни ми 0886969696


Като си програмист, вземи си пренапиши софтуера, бъгнал си се. Тук не е форум за избиване на комплекси.

Модераторите ще си свършат работата.

Аман от комплексари и все тук.
Премахнат е акаунта.
Изображение
CS MegaGaming във
Изображение
Изображение
Аватар
Admin
Администратор
Администратор
 
Предупреждения: 0
Мнения: 4096
Регистриран на: 14 Сеп 2010, 17:48
Местоположение: гр. София
Име в игра: demon
Skype: csmegagaming

Re: Задача на C++

Мнениеот MORTAL » 05 Май 2017, 13:01

Admin написа:Аман от комплексари и все тук.
Премахнат е акаунта.

Ако е Атан, възможно е да е пак смс админ, но трябва да му се спрат правата заради това поведение.
Заключвам темата, щом щом проблема е решен :)
Аватар
MORTAL
Администратор
Администратор
 
Предупреждения: 0
Мнения: 2940
Регистриран на: 18 Юли 2012, 09:08
Местоположение: NULL
Име в игра: [nuPuHcko] MORTAL или друго...
Skype: mortal_666

Re: Задача на C++

Мнениеот EsCapE » 05 Май 2017, 14:14

Пропуснал си да я заключиш :)
EsCapE
 
Предупреждения: 0


Назад към Помощ

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта