Code: program ebaat; var a,b,c,d: real; begin write('Input abc:'); read(a,b,c); d:=b*b-4*a*c; if d<0 then writeln('Fuck you') else begin writeln('x1=',(-b+sqrt(d))/(2*a)); writeln('x2=',(-b-sqrt(d))/(2*a)) end end. чет типа того)
Гг, должно быть так Code: writeln('x1=',(-b+sqrt(d))/(2*a)) Если дискриминант меньше нуля, это не значит, что корней нет, это значит, что корни комплексные Учим матчасть ЗЫ. А хотя какие в школе комплексные числа ЗЗЫ. Code: program equation; procedure GetCoeff (var a : real; var b : real; var c : real); begin write ('Vvedite koefficienty cherez probel: '); readln (a, b, c); writeln (a : 0 : 3, 'x^2 + ', b : 0 : 3, 'x + ', c : 0 : 3); end; function GetDiscriminant (a, b, c : real) : real; var d : real; begin d := b * b - 4 * a * c; GetDiscriminant := d; end; var a, b, c, d, x1, x2 : real; begin GetCoeff (a, b, c); d := GetDiscriminant (a, b, c); if d > 0 then begin x1 := (-b - sqrt (d)) / (2 * a); x2 := (-b + sqrt (d)) / (2 * a); writeln ('x1 = ', x1 : 0 : 3); writeln ('x2 = ', x2 : 0 : 3); end else if d = 0 then begin x1 := -b / (2 * a); writeln ('x = ', x1 : 0 : 3); end else begin x1 := -b / (2 * a); x2 := sqrt (abs (d)) / (2 * a); writeln ('x1 = ', x1 : 0 : 3, ' - i * ', x2 : 0 : 3); writeln ('x2 = ', x1 : 0 : 3, ' + i * ', x2 : 0 : 3); end; end.
Помогите плз с лабой....а то ваще не секу....... Разреженный массив на основе статического массива указателей Массив на основе указателей используется для хранения разреженных массивов, эле-менты которых имеют размер намного больший, чем размер указателя. Максимальный размер массива задается глобальной константой. Тип элементов раз-реженного массива данных - структура с полями: регистрационный номер, ФИО, ад-рес, ИНН. Данные. Размер массива, массив указателей на данные. Операции. Конструктор с параметром, инициализирующий размер массива и запол-няющий все элементы массива указателей значением 0. Установка значения элемента с индексом i. Получение значения элемента по его индексу. Подсчет количества непус-тых элементов в массиве данных. Вывод элементов массива. Операции инициализации размера массива и доступа к элементам массива по индексу должны выполняться с проверкой допустимости размера массива и индекса элемента
а можно переделать программы чтоб было ни через рандом, а по средствам ввода? например сначало вывидиться *Введите кол-во элементов массива Х*, вводим кол-во, потом *Введите элементы:* вводим элементы, далее со вторым массивом так же и в конце выводится результат з.ы. я еще не понел почему numel - 1 объясните пожалуйста)
Процедура ввода,(ввод каждого элемента через Enter): Code: [B][COLOR=Green]procedure FillMassive (numel : integer; var a : TMassive); var i : integer; begin writeln('Введи элементы массива');// for i := 0 to numel - 1 do readln(a[i]);[COLOR=Red]{Можешь заменить на read}[/COLOR] end;[/COLOR][/B] Потому что numel - это всего элементов, а мы начинаем с нуля..... Можно записать вот так (for i := 1 to numel do) ============= P.S. Плюс ко всему: (c)By _Great_ Прочитать правила >>
Плюс ко всему: (c)By _Great_ Прочитать правила >>[/QUOTE] извените, я потом заметил эту тему, не удаляйте пожалуйста, еще не все вопросы решили
Да ты конечно крут, но комплексные корни (по крайней мере в универе) кроме как в жордановой форме в каноничском базисе или в нахождении инвариантных пространств оператора больше нигде не нужны...
Че-то в голову ничего не приходит кроме тупого брута(( Code: program laba; function f (n : integer) : longint; begin if n = 0 then f := 1 else f := n * f (n - 1); end; var i, n, a : longint; begin write ('Vvedite chislo a: '); readln (a); i := 0; while 1 = 1 do begin if (f (i) < a) and (f (i + 1) > a) then begin writeln ('a = ', a); writeln ('n = ', i); writeln ('n! = ', f (i)); writeln ('(n + 1)! = ', f (i + 1)); break; end; inc (i); end; end.
вот еще задача: Даны целочисленные массивы S и T с разным количеством элементов. Найти количество элементов в этих массива равных первому элементу массива S. Ввод массивов выполнять в процедуре, а вычисление количества – в функции.
Спасибо за то что есть добрые люди на свете =) По плюсигу вам =) Но вот есть загвоздка: "ааа...НАРОД помогите пожалуйста,буду настолько МЕГА благодарен!... =))) " программf решающая квадратное уравнение ax(в квадрате) + bx+c=0 каэф abc что бы вводились с клавиатуры. " В ПАСКАЛЕ. " - Если а равно 0 то он не решит...Помогите пожалуйста =)) БУД НУ ОЧЕНЬ ВЕСЬМА БЛАГОДАРЕН! =)Зарание спасибо.
AAA! PAscal люди выручайте! нужно следующее: " Программа которая решает задачу резервирования оборудования сети, номера "аварийных" узлов вводяться с клавиатуры. " оч срочно, помогите
паскаля нет так что не проверял, но должно работать Code: program lab; var S: array [1..10] of integer; T: array [1..15] of integer; procedure Addarray; var j: integer; begin for j := 1 to 10 S[j] := random[10];{заполнение} for j := 1 to 15 T[j] := random[10];{ещё одно =)} end; function GetCh: integer; var c, i: integer; begin c := S[1]; Result := 0; for i := 1 to 15 do if T[i] = c then inc(Result); end; begin Addarray; writeLN("Kolichstvo=",GetCh); end.
Code: Program Sqrt1; Var A, B, C, D, X1, X2 : Real; Begin Writeln ('Введите коэффициенты квадратного уравнения вида '); Readln (A,B,C); D:=B*B-4*A*C; if A<>0 then Begin If D<0 Then Writeln ('Корней нет! ') Else Begin X1:=(-B+SQRT(D))/2/A; X2:=(-B-SQRT(D))/2/A; If X1<>X2 then Writeln ('X1=', X1:8:3, ' X2=',X2:8:3) else Writeln (' Корень один ','X=',X2:8:3) End; End else Writeln('Решений нет'); Readln; End. Вот самый примитивный способ....
Чего эт он лишний? Code: Program Sqrt1; Var A, B, C, D, X1, X2 : Real; [COLOR=DarkRed]Begin[/COLOR] Writeln ('Введите коэффициенты квадратного уравнения вида '); Readln (A,B,C); D:=B*B-4*A*C; if A<>0 then [COLOR=DarkRed]Begin[/COLOR] If D<0 Then Writeln ('Корней нет! ') Else [COLOR=DarkRed]Begin[/COLOR] X1:=(-B+SQRT(D))/2/A; X2:=(-B-SQRT(D))/2/A; If X1<>X2 then Writeln ('X1=', X1:8:3, ' X2=',X2:8:3) else Writeln (' Корень один ',X=',X2:8:3) [COLOR=DarkRed]End;[/COLOR] [COLOR=DarkRed]End[/COLOR] else Writeln('Решений нет'); [COLOR=DarkRed]End. [/COLOR] 3 begin'a и 3 end'a, вроде все норм =)