Начинающий
Регистрация: 29.12.2009 Сообщения: 2
Языки:
Специальность:
Репутация: 0 [ ? ]
|
 Ошибка
Вот мне надо написать программу которая вычисляет корень квадратный суммы трёх вещественных чисел, введённых с клавиатуры.Результат округленный до ближайшого целого выводится на монитор. Ну я вот написал Program mm; var a: integer; b: integer; c: integer; d: integer; e: integer; f: integer; begin Write ('Введите первое число: '); Readln (a); Write ('Введите второе число: '); Readln (b); Write ('Введите третье число: '); Readln (c); d:=a+b+c; e:=sqrt(d) <<<<<===== Тут я хочу взять корень из числа d f:=Round (e); <<<<==== округлить хочу число е Writeln (f); Readln; end. Но ни корень ни округление не делаеться, ошибку кидает, стёр я округление просто оставил корень, то всё равно не делает, ошибка, попробовал взять sqr то нормально, и еще ошибка какаято у меня тоесть я запускаю F5 а оно тупо ничего не пишет, потом нажимаю F4 начинает работать помогите разобраться с задачей! P.S дайте нормальный TP русский P.S и литературу Заранее благодарен!
|
Начинающий
Регистрация: 02.06.2010 Сообщения: 1
Языки:
Репутация: 0 [ ? ]
|
 Re: Ошибка
помогите найти ошибки:задача:1. Образовать массив x, упорядоченный по неубыванию, и массив y, упорядоченный по невозрастанию, используя фрагмент программы: CONST k = 50; m = 20; n = k + m; VAR x: array [1..k] of real; y: array [1..m] of real; z: array [1..n] of real; Объединить элементы этих двух массивов в один массив z так, чтобы они оказались упорядоченными по неубыванию. программа:Program Ex1; uses crt; const k = 50; m = 20; n = k + m; var x : array[1..k] of real; y : array[1..m] of real; z : array[1..n] of real; i,j: integer; d: real; maxi, mini : integer; begin d:=1.2;
for i:=1 to k do begin x[i]:=i+d; end;
//Вывод первого массива X. writeln('Массив X: '); for i:=1 to k do begin write(x[i], ' '); end;
for i:=m downto 1 do begin y[i]:=i-d; end; //Вывод второго массива Y. writeln; writeln('Массив Y: '); for i:=m downto 1 do begin write(y[i], ' '); end; //Заполнение третьего массива Z. Сначала элементами X. for i:=1 to k do begin z[i]:=x[i]; end;
//Заполнение третьего массива Z. Теперь элементами Y. for i:=n downto k+1 do begin z[i]:=y[i-50]; end; //Сортировка массива по неубыванию. mini := 1; for i:=1 to n-1 do begin for j:= i+1 to n do if (z[j] < z[mini]) then mini := j; d := z[i]; z[i] := z[mini]; z[mini]:= d; end; writeln; writeln('Массив Z: '); for i:=1 to k+m do begin write(z[i], ' '); end;
end. задача2:2. Определить симметричность элементов каждой строки образованной случайной вещественной матрицы А (20х40 ) посредством функции, проверяющей симметричность числа. программа:Program CheckForSimmetry; uses crt;
const w = 20; h = 40; var a: array[1..w,1..h] of real; i,j: integer; totalSimm: boolean; function checkSimmetry(x: real): boolean; var temp,str: string; len: integer; dk,k,n: integer; isSimmetryc: boolean; begin isSimmetryc := true; str:=FloatToStr(x); if (pos('.',str) <> 0) then begin temp:=copy(str,1,(pos('.',str)-1)); temp:=temp+copy(str,(pos('.',str)+1),length(str)); end else temp:=str; if (StrToInt(temp[1]) = 0) then temp := copy(temp,2,length(temp)); n:=length(temp); for k:=1 to n do begin dk := StrToInt(temp[k]); if not (dk = StrToInt(temp[n - k + 1])) then isSimmetryc := false; end; result:=isSimmetryc; end; begin randomize; totalSimm := false; for i:=1 to h do begin for j:=1 to w do a[j,i]:= (random(99900)*1.12345); end; //раскоментировать нижню строчку для проверки на симметричность. //a[1,3]:=54345; for i:=1 to h do begin for j:=1 to w do if (checkSimmetry(a[j,i])) then begin writeln('Симметрично: ',a[j,i]); totalSimm := true; end; end; if not(totalSimm) then writeln('Ни одно число не симметрично!'); end.
|