Loading...
melda.h avatar melda.h 4 Точки

Задача с цикли и функции

Напишете програма, която прочита от стандартния си вход: цяло положително число n (броят на координатите), последвано от n реда, всеки от които с по две дробни числа с до пет значещи цифри (координатите).

Такаа и за задачата трябва да взимам две по две координатите. Правя това:

int main() {
    unsigned int n;
    double x, y;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> x >> y;

    }
}

Обаче не знам след това как да ги взимам две по две.

Тагове:
0
C++ Programming
ThePSXHive avatar ThePSXHive 436 Точки

Какво трябва да се извършва с тези координати? Какво е пълното условие? 

0
melda.h avatar melda.h 4 Точки

Условието е много дълго 3 стр. Накратко трябва да сметна дължина на отсечка тоест трябва да взема първата и втората точка, после втората и третата след това третата и четвъртата и т.н. до n-тата.

0
ThePSXHive avatar ThePSXHive 436 Точки

Тези точки, предполагам, са крайщата на различни по дължина отсечки, и ти трябва да изчислиш дължината на всяка от тях, така ли?

0
melda.h avatar melda.h 4 Точки

Точките са (x,y)

Пример:
0 3
4 5

Дължината е 5

0
ThePSXHive avatar ThePSXHive 436 Точки

Проблемът е, че отговорът е 5 само с уговорката, че има закръгляне на резултата към по-високата стойност. Иначе разстоянието между точките (което е по същество дължината на отсечката) се намира чрез съответната формула за разстояние между две точки в равнината. Но отговорът не е цяло число, още повече, че в условието е зададена точността на стойностите, които трябва да бъдат използвани. Изниква и друг въпрос - как ще съхраняваш резултатът? Ако трябва да бъде съхраняван, няма как задачата да бъде решена без някакви структури данни. Ако трябва просто да бъде изведен резултат, то тогава изчисленията трябва да стават непосредствено след въвеждането на данните. В случая, x и y ще бъдат само placeholder-и, и ще имаш нужда от още 4 променливи (x1, y1, x2, y2), които да играят роля в изчисленията. Изчисленията трябва да се реализират само до n, ако съм разбрал правилно. Не е като да се изисква разстоянието между всички точки да бъде изчислено, защото тогава е по-сложно (например, първата с последната, втората с четвъртата, и т. н.)

0
melda.h avatar melda.h 4 Точки

#include <iostream>
using namespace std;
const int pi = 3.14;

double distance(double x) {
    double f = ((pi*x) / 2 + x) / 2; //функция f(x) , която ни дава приблизителната дължина на
разстоянието, изминато от играчите между две точки в равнината като приема за аргумент
дължината на отсечката между тези две точки.

    return f;
}
int main() {
    unsigned int n;
    double x,y,x1, y1,x2,y2,ab;
    double sum = 0;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> x1 >> y1;
        cin >> x2 >> y2;
        ab= sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2));
        distance(ab);
        sum += ab;
        
    }
    cout << sum;
}

Стигам до тук ..  така точките са ми 2 пъти повече

0
ThePSXHive avatar ThePSXHive 436 Точки

Такъв е изразът, необходими са и 4-те точки. Само с 2 може да стане ако използваш struct, но това не е част от параметрите на задачата, доколкото разбирам.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.