Перевести код из Паскаля в Си - C (СИ) (70608)
Формулировка задачи:
var a,b,c,d,e,f,g,h:real; f1,f2:real; begin write('a='); readln(a); write('b='); readln(b); write('c='); readln(c); write('d='); readln(d); write('e='); readln(e); write('f='); readln(f); write('g='); readln(g); write('h='); readln(h); {Рівняння прямої f=0 f=(x‐e)*(h‐f)‐(y‐f)*(g‐e)} {підставляємо в F(x,y) точку (a,b)} f1:=(a‐e)*(h‐f)‐(b‐f)*(g‐e); {підставляємо в F(x,y) точку (c,d)} f2:=(c‐e)*(h‐f)‐(d‐f)*(g‐e); {Перевіряємо чи f1 та f2 мають однакові знаки} if ((f1>0) and (f2>0)) or ((f1<0) and (f2<0)) then writeln('YES') else writeln('NO'); readln; end.
Часть кода пропала ,так что лучше так
var a,b,c,d,e,f,g,h:real; f1,f2:real; begin write('a='); readln(a); write('b='); readln(b); write('c='); readln(c); write('d='); readln(d); write('e='); readln(e); write('f='); readln(f); write('g='); readln(g); write('h='); readln(h); {Рівняння прямої f=0 f=(x‐e)*(h‐f)‐(y‐f)*(g‐e)} {підставляємо в F(x,y) точку (a,b)} f1:=(a‐e)*(h‐f)‐(b‐f)*(g‐e); {підставляємо в F(x,y) точку (c,d)} f2:=(c‐e)*(h‐f)‐(d‐f)*(g‐e); {Перевіряємо чи f1 та f2 мають однакові знаки} if ((f1>0) and (f2>0)) or ((f1<0) and (f2<0)) then writeln('YES') else writeln('NO'); readln; end.
Решение задачи: «Перевести код из Паскаля в Си»
textual
Листинг программы
#include <stdio.h> int main(void) { float a, b, c, d, e, f, g, h; float f1, f2; printf("a = "); scanf("%f", &a); printf("b = "); scanf("%f", &b); printf("c = "); scanf("%f", &c); printf("d = "); scanf("%f", &d); printf("e = "); scanf("%f", &e); printf("f = "); scanf("%f", &f); printf("g = "); scanf("%f", &g); printf("h = "); scanf("%f", &h); //Рівняння прямої f=0 //f=(x‐e)*(h‐f)‐(y‐f)*(g‐e) //підставляємо в F(x,y) точку (a,b) f1 = (a-e)*(h-f)-(b-f)*(g-e); //{підставляємо в F(x,y) точку (c,d)} f2 = (c-e)*(h-f)-(d*f)*(g-e); //{Перевіряємо чи f1 та f2 мають однакові знаки} if (((f1>0) && (f2>0)) || ((f1<0) && (f2<0))) printf("YES\n"); else printf("NO\n"); return 0; }
Объяснение кода листинга программы
- Объявлены переменные a, b, c, d, e, f, g, h, f1, f2 типа float.
- Выполняется последовательный ввод значений переменных a, b, c, d, e, f, g, h с помощью функции scanf.
- Вычисляются значения переменных f1 и f2 по формулам: f1 = (a-e)(h-f)-(b-f)(g-e); f2 = (c-e)(h-f)-(d-f)(g-e);
- Выполняется проверка знаков f1 и f2:
if (((f1>0) && (f2>0)) || ((f1<0) && (f2<0)))
printf(
YES\n
); else printf(NO\n
); - Программа завершается возвратом значения 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д