Эту задачу уже решали здесь. Но, если трудно поискать, то вот программа: var a,b,c,d,x,y,z,y1,z1,y2,z2,nod:integer; begin writeln('1-я дробь (числитель и знаменатель):'); readln(a,b); writeln('2-я дробь (числитель и знаменатель):'); readln(c,d); y1:=a*d+c*b; y2:=y1; z1:=b*d; z2:=z1; while (y2>0)and(z2>0) do if y2>z2 then y2:=y2 mod z2 else z2:=z2 mod y2; nod:=y2+z2; y1:=y1 div nod; z:=z1 div nod; x:=y1 div z; y:=y1 mod z; if x>0 then writeln(x,' ',y,'/',z) else writeln(y,'/',z); end.
Пример: 1-я дробь (числитель и знаменатель): 3 4 2-я дробь (числитель и знаменатель): 5 6 1 7/12
Var ar: array[1..10000]of integer; ms: array[1..10000]of integer; i, c, n, j, p: integer; b: boolean; begin randomize; b := true; c := 1; write('Введите количество элементов массива:'); read(n); writeln('Массив:'); for i := 1 to n do ms[i] := -2147483648; for i := 1 to n do begin ar[i] := random(11); write(ar[i], ' '); end; for i := 1 to n do for j := i + 1 to n do begin if (ar[i] = ar[j]) then begin for p := 1 to c do if (ar[i] = ms[p]) then b := false; if (b = true) then begin ms[c] := ar[i]; c := c + 1; end; end; b := true; end; writeln; if (c = 1) then write('Нет') else begin write('Есть:'); for i := 1 to c - 1 do if(i <> c - 1) then write(ms[i], ',') else write(ms[i]); end; end.
Целое это 2
Предыдущее это 1
Последующее это 3
Объяснение:
Вот ответ