ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

24.04.2008, 23:28
|
|
Участник форума
Регистрация: 17.05.2007
Сообщений: 220
Провел на форуме: 3013539
Репутация:
441
|
|
Сообщение от krypt3r
Гг, должно быть так
Код:
writeln('x1=',(-b+sqrt(d))/(2*a))
Если дискриминант меньше нуля, это не значит, что корней нет, это значит, что корни комплексные
Учим матчасть
ЗЫ. А хотя какие в школе комплексные числа
ЗЗЫ.
Код:
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.
Да ты конечно крут, но комплексные корни (по крайней мере в универе) кроме как в жордановой форме в каноничском базисе или в нахождении инвариантных пространств оператора больше нигде не нужны...
|
|
|

24.04.2008, 08:47
|
|
Новичок
Регистрация: 08.02.2008
Сообщений: 12
Провел на форуме: 64407
Репутация:
2
|
|
Помогите плз с лабой....а то ваще не секу.......
Разреженный массив на основе статического массива указателей
Массив на основе указателей используется для хранения разреженных массивов, эле-менты которых имеют размер намного больший, чем размер указателя.
Максимальный размер массива задается глобальной константой. Тип элементов раз-реженного массива данных - структура с полями: регистрационный номер, ФИО, ад-рес, ИНН.
Данные. Размер массива, массив указателей на данные.
Операции. Конструктор с параметром, инициализирующий размер массива и запол-няющий все элементы массива указателей значением 0. Установка значения элемента с индексом i. Получение значения элемента по его индексу. Подсчет количества непус-тых элементов в массиве данных. Вывод элементов массива. Операции инициализации размера массива и доступа к элементам массива по индексу должны выполняться с проверкой допустимости размера массива и индекса элемента
|
|
|

25.04.2008, 05:54
|
|
Участник форума
Регистрация: 01.05.2006
Сообщений: 216
Провел на форуме: 287212
Репутация:
62
|
|
Ну, мы на 2-м курсе политеха вовсю ими пользуемся... И по математике, и по электротехнике.
|
|
|

25.04.2008, 12:17
|
|
Новичок
Регистрация: 14.03.2008
Сообщений: 28
Провел на форуме: 39192
Репутация:
2
|
|
вот задачка:
для данного числа a > 0 найти такое натуральное n, для которого n! < a и (n+1)! > a
|
|
|

25.04.2008, 12:39
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Че-то в голову ничего не приходит кроме тупого брута((
Код:
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.
|
|
|

25.04.2008, 15:17
|
|
Новичок
Регистрация: 14.03.2008
Сообщений: 28
Провел на форуме: 39192
Репутация:
2
|
|
вот еще задача:
Даны целочисленные массивы S и T с разным количеством элементов. Найти количество элементов в этих массива равных первому элементу массива S. Ввод массивов выполнять в процедуре, а вычисление количества – в функции.
|
|
|

25.04.2008, 17:07
|
|
Новичок
Регистрация: 01.09.2007
Сообщений: 7
Провел на форуме: 22051
Репутация:
6
|
|
Спасибо за то что есть добрые люди на свете =) По плюсигу вам =)
Но вот есть загвоздка:
"ааа...НАРОД помогите пожалуйста,буду настолько МЕГА благодарен!... =)))
" программf решающая квадратное уравнение ax(в квадрате) + bx+c=0
каэф abc что бы вводились с клавиатуры.
"
В ПАСКАЛЕ. " -
Если а равно 0 то он не решит...Помогите пожалуйста =)) БУД НУ ОЧЕНЬ ВЕСЬМА БЛАГОДАРЕН! =)Зарание спасибо.
|
|
|

25.04.2008, 18:46
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Сообщение от Bert_HoL
Спасибо за то что есть добрые люди на свете =) По плюсигу вам =)
Но вот есть загвоздка:
"ааа...НАРОД помогите пожалуйста,буду настолько МЕГА благодарен!... =)))
" программf решающая квадратное уравнение ax(в квадрате) + bx+c=0
каэф abc что бы вводились с клавиатуры.
"
В ПАСКАЛЕ. " -
Если а равно 0 то он не решит...Помогите пожалуйста =)) БУД НУ ОЧЕНЬ ВЕСЬМА БЛАГОДАРЕН! =)Зарание спасибо.
Код:
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.
Вот самый примитивный способ....
Последний раз редактировалось De-visible; 25.04.2008 в 21:57..
|
|
|

25.04.2008, 20:55
|
|
Участник форума
Регистрация: 02.02.2008
Сообщений: 106
Провел на форуме: 594791
Репутация:
55
|
|
Сообщение от De-visible
Код:
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('Решений нет');
End.
подчеркнутое красным лишнее 
|
|
|

25.04.2008, 21:34
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
Сообщение от Garfi
подчеркнутое красным лишнее 
Чего эт он лишний?
Код:
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('Решений нет');
End.
3 begin'a и 3 end'a, вроде все норм =)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|