Turbo Pascal

A

AkeL.php

Guest
Cумма двух любых сторон должна быть больше третьей-условие существования треугольника. Пример:
Program some;
Var a, b, c: real;
Begin
Writeln ('дите длины трёх сторон треугольника');
Readln (a, b, С);
Write ('треугольник со сторонами ', a, b, c);
If (a+b>c) and (b+c>a) and (a+c>b)
Then writeln ('существуют')
Else writeln ('не существуюет');
Readln
End.
 
A

AkeL.php

Guest
Ещё можно проверять по углам. Естественно, треугольник не будет существовать, если какой-либо из его углов будет >= 180 град.
 

Кицюня_

жена!!!=)
помогите пожалста с задачей.вот условие
Задача №2
Нехай дано текст та значення символьних змінних х та у.
Із змісту вилучити всі символи, що збігаються із символом х, і повторити двічі всі символи, що збігаються з у.
заранее огромное пасибки :)
 

quant

yeah
Відповідь: Re: Turbo Pascal

Нехай дано текст та значення символьних змінних х та у.
Із змісту вилучити всі символи, що збігаються із символом х, і повторити двічі всі символи, що збігаються з у.
полный код я писать не буду, надеясь что ты хочеш написать программу сама, дабы детальнее изучить турбо паскаль
существуют стандартные функции поиска, удаления и инсерта, но надеюсь ты их хочеш написать без них, дабы детальнее изучить турбо паскаль
итак задаются 2 чара x и y, рекоммендую разсматривать строку как массив символов
допустим у нас есть строка sr (var sr: string)
первы символ под номером 1 (sr[1]) , последний под номером length (sr[length(sr)]), а вобще если интерестно - длинна строки хранится в нулевой ячейке, так что номер последей ячейки можно узнать так integer (s[0])
итак тебе нужно зделать 2 прохода, создавая каждый раз новую строку
во время первого прохода необходимо проверить каждый символ строки, и если он неравен символу x то добавить его в новую строку
второй проход - работаем с новой полученной строкой каждый символ добавляем в новую строку, если символ равен y добавляем его в строку
 

Vladimir B.

милый добрый кот
Модератор
Re: Відповідь: Re: Turbo Pascal

помогите пожалста с задачей.вот условие
Задача №2
Нехай дано текст та значення символьних змінних х та у.
Із змісту вилучити всі символи, що збігаються із символом х, і повторити двічі всі символи, що збігаються з у.
заранее огромное пасибки :)
полный код я писать не буду, надеясь что ты хочеш написать программу сама, дабы детальнее изучить турбо паскаль
существуют стандартные функции поиска, удаления и инсерта, но надеюсь ты их хочеш написать без них, дабы детальнее изучить турбо паскаль
Ага, 17 школа? ;) Инна Викторовна явно недооценила эту задачу. Первое (х) - решается простым поиском pos(); и удалением delete();

while pos(str,x)<>0 do
delete(pos(str,x),str,1); - ну, где-то так

А вот со вторым... тоже просто... но pos() тут неуместен, т.к. возвращает номер первого элемента. Берем цикл "while" и в нем перебираем все элементы строки, пока выполняется условие "номер<=length(строки)" - то-есть теперь мы можем спокойно делать insert();

g:=1;
while g<=length(str) do
begin
if str=y then insert(); - синтаксис не помню точно
inc(g);
end;

И вообще, ув. школьница 17 школы... наезжайте на ИВ, что задача сложная, и за нее надо не 10 балов - а минимум 24, т.к. за 1 задачу - 12.

P.S. quant... изучить? хм... сдать и забыть! :)
 
Останнє редагування:

FEOFAN

http://feofan.com
помогите пожалста с задачей.вот условие
Задача №2
Нехай дано текст та значення символьних змінних х та у.
Із змісту вилучити всі символи, що збігаються із символом х, і повторити двічі всі символи, що збігаються з у.
заранее огромное пасибки :)
program m;
uses crt;
var
s1,s2:string;
x,y:char;
i,j:byte;
begin
{тут кусок кода где вводят s1,x,y}
j:=1;
for i:=1 to length(s1) do begin
if (s1 <> x) then begin
s2[j]:=s1;
inc(j);
if (s1 = y) then begin
inc(j);
s2[j]:=s1;
end;
end;
end;

writeln(s2);
end.
 

Кицюня_

жена!!!=)
Vladimir B.
она самая Инна Викторовна :))) пасибки за помощь
а FEOFAN самое огромное спасибо :eusa_ange
оч благодарна, что отозвались на просьбу, пасибки
 

MoonSpear

эгоманьяк
Cумма двух любых сторон должна быть больше третьей-условие существования треугольника. Пример:
Program some;
Var a, b, c: real;
Begin
Writeln ('дите длины трёх сторон треугольника');
Readln (a, b, С);
Write ('треугольник со сторонами ', a, b, c);
If (a+b>c) and (b+c>a) and (a+c>b)
Then writeln ('существуют')
Else writeln ('не существуюет');
Readln
End.
да токо это нада впихнуть в задачу)и лутче зделать так If (a+b<c) and (b+c<a) and (a+c<b) Then writeln('не существует') else ...проверка на равнобедреный или равносторонний,тошо Я зедлал как ты написал и оно мну выбивало када йа ввоодил стороны 1 2 10-треугольник разносторонний...кароче шаткий это вариант)
 
Зверху