Помогите перевести из паскаля в си, пожалуйста?

Информатика | 10 - 11 классы

Помогите перевести из паскаля в си, пожалуйста!

Uses crt ;

type prm = record {прямая с полями, коэффициентами}

a, b, c : real ;

end ;

tch = record {точка с полями, координатами}

x, y : real ;

end ;

{процедура вычисления точки пересечения 2х прямых}

procedure Peres2(a, b : prm ; var t : tch) ;

begin

t.

X : = (b.

C * a.

B - a.

C * b.

B) / (a.

A * b.

B - a.

B * b.

A) ;

t.

Y : = (b.

A * a.

C - a.

A * b.

C) / (a.

A * b.

B - a.

B * b.

A) ;

end ;

{функция проверки на пересечение}

function Prov(a, b : prm) : boolean ;

begin

Prov : = a.

A * b.

B - a.

B * b.

A0 ;

end ;

{процедура ввода данных}

procedure Vvod(var a : prm ; k : byte) ;

begin

repeat

writeln('Введите коэффициенты прямой ', k) ;

readln(a.

A, a.

B, a.

C) ;

if(a.

A = 0)and(a.

B = 0)then writeln('Это не прямая, повторите ввод')

until(a.

A0)or(a.

B0) ;

a.

C : = - a.

C ; {перенесем C в левую часть получим ax + by + c = 0}

end ;

var a, b, c : prm ;

m12, m13, m23 : tch ;

s : real ;

begin

clrscr ;

Vvod(a, 1) ;

Vvod(b, 2) ;

Vvod(c, 3) ;

if not Prov(a, b)or not Prov(a, c)or not Prov(b, c) then

begin

write('Прямые попарно не пересекаются') ;

readln ;

exit

end ;

Peres2(a, b, m12) ;

Peres2(a, c, m13) ;

Peres2(b, c, m23) ;

writeln('Точка пересечения 1 - 2 : ', m12.

X : 5 : 2, ' ; ', m12.

Y : 5 : 2) ;

writeln('Точка пересечения 1 - 3 : ', m13.

X : 5 : 2, ' ; ', m13.

Y : 5 : 2) ;

writeln('Точка пересечения 2 - 3 : ', m23.

X : 5 : 2, ' ; ', m23.

Y : 5 : 2) ;

s : = abs(m12.

X * (m23.

Y - m13.

Y) + m23.

X * (m13.

Y - m12.

Y) + m13.

X * (m13.

Y - m23.

Y)) / 2 ;

write('Площадь треугольника пересечений = ', s : 0 : 2) ;

readln

end.

Ответить на вопрос
Ответы (1)
Gicha4 27 янв. 2022 г., 00:43:39

#include

#include

struct prm { float a, b, c ;

} ;

struct tch { float x, y ;

} ;

void Peres2(struct prm a, struct prm b, struct tch * t) { t - >x = (b.

C * a.

B - a.

C * b.

B) / (a.

A * b.

B - a.

B * b.

A) ; t - >y = (b.

A * a.

C - a.

A * b.

C) / (a.

A * b.

B - a.

B * b.

A) ;

}

int Prov(struct prm a, struct prm b) { return a.

A * b.

B - a.

B * b.

A! = 0 ;

}

void Vvod(struct prm * a, int k) { do { printf("Введите коэффициенты прямой %i \ n", k) ; scanf("%f%f%f", &a - >a, &a - >b, &a - >c) ; if ((a - >a = = 0) && (a - >b = = 0)) printf("Это не прямая, повторите ввод \ n") ; } while ((a - >a = = 0) && (a - >b = = 0)) ; a - >c = - a - >c ;

}

struct prm a, b, c ;

struct tch m12, m13, m23 ;

float s ;

int main() { Vvod(&a, 1) ; Vvod(&b, 2) ; Vvod(&c, 3) ; if (!

Prov(a, b) || !

Prov(a, c) || !

Prov(b, c)) { printf("Прямые попарно не пересекаются") ; return 0 ; } Peres2(a, b, &m12) ; Peres2(a, c, &m13) ; Peres2(b, c, &m23) ; printf("Точка пересечения 1 - 2 : %5.

2f ; %5.

2f \ n", m12.

X, m12.

Y) ; printf("Точка пересечения 1 - 3 : %5.

2f ; %5.

2f \ n", m13.

X, m13.

Y) ; printf("Точка пересечения 2 - 3 : %5.

2f ; %5.

2f \ n", m23.

X, m23.

Y) ; s = fabs(m12.

X * (m23.

Y - m13.

Y) + m23.

X * (m13.

Y - m12.

Y) + m13.

X * (m13.

Y - m23.

Y)) / 2 ; printf("Площадь треугольника пересечений = %.

2f", s) ; return 0 ;

}.

Екатерина29051999 2 янв. 2022 г., 14:32:50 | 10 - 11 классы

Определите, какое число будет напечатано на экране в результате выполнения следующей программы :var a, b : integer ;begin a : = 0 ; b : = 2 ; while b < 32 do begin a : = a + 1 ; b : = b * 2 ; end ; wr?

Определите, какое число будет напечатано на экране в результате выполнения следующей программы :

var a, b : integer ;

begin a : = 0 ; b : = 2 ; while b < 32 do begin a : = a + 1 ; b : = b * 2 ; end ; writeln(a) ;

end.

Bdot 4 февр. 2022 г., 06:35:56 | 10 - 11 классы

65) (Д?

65) (Д.

Ф. Муфаззалов, Уфа) Какое число будет напечатано в результате выполнения программы :

var i, k : integer ;

function f(x : integer) : integer ;

var m : integer ;

begin

if x < 10 then f : = x

else begin

m : = f(x div 10) ;

if m < x mod 10 then

f : = x mod 10

else f : = m ;

end ;

end ;

begin

k : = 0 ;

for i : = 1000 to 9999 do

if f(i mod 100) = 1 then

if f(i div 100) = f(i mod 100) then

k : = k + 1 ;

writeln(k) ;

end.

Объясните, пожалуйста.

Кротова 8 янв. 2022 г., 22:09:42 | 5 - 9 классы

Пожалуйста помогите?

Пожалуйста помогите!

Найдите исправьте все ошибки, допущенные в этой программе.

Запишите программу без ошибок.

Var a ; b ; c : Integer ; d : real ;

Begin

Writeln('b = ?

', b)

Readln(b) ;

a = 10 ;

с : ab

Writeln(' a x b' равно' C) ;

d : = c div b ;

writeln(d)

End.

Nastjakijam 28 янв. 2022 г., 23:03:19 | 10 - 11 классы

Ниже записана программа?

Ниже записана программа.

Получив на вход число , эта программа

печатает два числа, a и b.

Укажите наибольшее из чисел , при вводе которых алгоритм печатает сначала 2, а потом 8.

Var x, a, b : integer ;

begin

readln(x) ;

a : = 0 ; b : = 0 ;

while x > 0 do begin

a : = a + 1 ;

b : = b + (x mod 100) ;

x : = x div 100 ;

end ;

writeln(a) ; write(b) ;

end.

Татьяна110 5 февр. 2022 г., 03:48:09 | 5 - 9 классы

Помогите найти ошибку (Информатика, Паскаль)?

Помогите найти ошибку (Информатика, Паскаль).

Var s, k, a : integer ;

Begin

s : = 0 ;

k : = 0 ;

Read(a) ;

while a0 do

Begin

if a mod 8 = 0 then

Begin

s : = s + a ;

k : = k + 1 ;

end ;

Readln(a) ;

end ;

var y : real ;

begin

y : = s / k ;

Read(s) ;

if s>0 then

Writeln(y)

else

Writeln('NO')

end ;

end.

Agent2013 10 мар. 2022 г., 07:17:40 | студенческий

Дайте ответ пожалуйста?

Дайте ответ пожалуйста!

Ниже записана программа.

Получив на вход число , эта программа печатает два числа, и .

Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом10.

Var x, a, b : integer ;

begin readln(x) ; a : = 0 ; b : = 1 ; while x > 0 do begin a : = a + 1 ; b : = b * (x mod 8) ; x : = x div 8 ; end ; writeln(a) ; write(b) ;

end.

Arzni 4 февр. 2022 г., 15:08:15 | 10 - 11 классы

Перевод кода паскаль в c + +2)var i, sum : integer ;n : real ;beginsum : = 0 ;for i : = 1 to 15 dobeginreadln(n) ;if n = trunc(n) then sum : = sum + 1 ;end ;writeln(sum) ;end?

Перевод кода паскаль в c + +

2)var i, sum : integer ;

n : real ;

begin

sum : = 0 ;

for i : = 1 to 15 do

begin

readln(n) ;

if n = trunc(n) then sum : = sum + 1 ;

end ;

writeln(sum) ;

end.

2

Var

a1, b2, c, d : integer ;

begin

write('Введите числа через пробел : ') ;

read(a1) ;

for d : = 2 to 10 do begin

read(b2) ;

if b2>a1 then inc(c) ;

a1 : = b2 ;

end ;

if c = 9 then writeln('Да') else writeln('Нет') ;

end.

Doooooos2016 24 мар. 2022 г., 08:38:40 | 10 - 11 классы

СрочноProgram sredarifment ;Var a : array[1?

Срочно

Program sredarifment ;

Var a : array[1.

10] of real ;

i, k : integer ;

C, S, sred : real ;

Begin

For i : = 1 to 10 do begin write ('a[', i, '] = ') ; readln (a[i]) ; end ;

write('введите C : ') ; readln (C) ;

For i : = 1 to 10 do begin If a[i]>C then begin S = S + a[i] ; K = K + 1 ; end ; end ;

sred = S / k ;

Writeln('среднее арифметическое чисел, превосходящих ', C, ' равно ', sred) ;

End.

Помогите чтобы программа запускалась.

Выходит что не верно.

Наатт 18 янв. 2022 г., 09:13:42 | 5 - 9 классы

Перевести из Pascal в Сvar a, b : longint ; n, m : byte ;begin readln(a) ; readln(n) ; b : = 0 ; while a > 0 do begin m : = a mod 10 ; if m n then b : = b * 10 + m ; a : = a div 10 ; end ; while b > 0?

Перевести из Pascal в С

var a, b : longint ; n, m : byte ;

begin readln(a) ; readln(n) ; b : = 0 ; while a > 0 do begin m : = a mod 10 ; if m n then b : = b * 10 + m ; a : = a div 10 ; end ; while b > 0 do begin a : = a * 10 + b mod 10 ; b : = b div 10 ; end ; writeln(a) ;

end.

Антонинка1230 27 июн. 2022 г., 21:01:21 | 10 - 11 классы

Program a2 ;var a, b, c, min : real ;beginwriteln('Введите три числа') ;readln(a, b, c) ;min : = a ;if bif cwriteln('min = ', min)end?

Program a2 ;

var a, b, c, min : real ;

begin

writeln('Введите три числа') ;

readln(a, b, c) ;

min : = a ;

if b

if c

writeln('min = ', min)

end.

КАК РЕШАТЬ?

А)а = 10, b = 5 и с = 1

Б)а = 10, b = 5 и с = 7

В)а = 2, b = 10, с = 5.

Если вам необходимо получить ответ на вопрос Помогите перевести из паскаля в си, пожалуйста?, относящийся к уровню подготовки учащихся 10 - 11 классов, вы открыли нужную страницу. В категории Информатика вы также найдете ответы на похожие вопросы по интересующей теме, с помощью автоматического «умного» поиска. Если после ознакомления со всеми вариантами ответа у вас остались сомнения, или полученная информация не полностью освещает тематику, создайте свой вопрос с помощью кнопки, которая находится вверху страницы, или обсудите вопрос с посетителями этой страницы.