Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Pcmaster
0 / 0 / 0
Регистрация: 30.12.2008
Сообщений: 8
1

надо решить задачу: a*b=x,надо вывести х, а когда a и b равны 0, то написать что корней множество, а когда a или b равен 0, то вывести что корней нет

22.02.2009, 20:14. Просмотров 842. Ответов 4
Метки нет (Все метки)

Здравствуйте господа... У меня вот такая проблема, на завтра надо решить задачу: a*b=x,надо вывести х, а когда a и b равны 0, то написать что корней множество, а когда a или b равен 0, то вывести что корней нет. Но... когда а и b >0 все нормально выдает х, когда a=0 выдает нет корней, а когда a и b равны 0, пишет что "деление на 0", можно ли сделать чтоб когда a и b равны 0 оно писало "множество корней", а когда а>0, а b=0 писало что корней нет.
Я зделал так :
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Program abx;
Uses crt;
Var a,b,x,d :real;
Begin
Clrscr;
Writeln('Vvedite znacenie a,b');
readln (a,b);
d:=a+b;
If d=0 then writeln('Mnozestvo korney') else goto 99;
99: x:=a/b;
if a=0 then writeln('Net korney') else writeln ('x=", x:4:1);
readln
end.
Помогите ламеру. Зарание спасибо
0
Lord_Voodoo
Супер-модератор
8718 / 2373 / 138
Регистрация: 07.03.2007
Сообщений: 11,340
Завершенные тесты: 1
22.02.2009, 21:40 2
метку вы использовали так, как этого делать нельзя... потому что у вас в любом случае попадет выполнение на строку 10... просто все, что вы написали перевидите в паскаль с помощью условных операторов и все будет тип-топ...
0
Дашустрик
Дашики
7 / 7 / 1
Регистрация: 26.09.2008
Сообщений: 477
23.02.2009, 01:24 3
воть
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Program abx;  
Uses crt;  
Var a,b,x:real;
Begin  
Clrscr;  
Writeln('Vvedite znacenie a,b');  
readln (a,b);
if (a=0) and (b=0)
   then
     begin
       writeln('Mnozestvo korney');
       writeln('Povtorite vvod!!!');
     end
   else
if (a=0) or (b=0)
   then
     begin
       writeln('Net korney');
       writeln('Povtorite vvod!!!');
     end
   else
if (a<>0) and (b<>0)
   then
     begin
       x:=a*b;
       Writeln('Proizvedenie ravno a*b = ',x:4:1,'  ');
     end;
readln
end.
Просто вы немного неправильно условие прочитали,там сказано что не "а+b" равно нулю, а что "а" и "b" равно нулю,просто,наверное,вы не совскем правильно поняли задачку
1
Pcmaster
0 / 0 / 0
Регистрация: 30.12.2008
Сообщений: 8
23.02.2009, 17:15  [ТС] 4
Дашустрик спасибо огромное!!
0
Дашустрик
Дашики
7 / 7 / 1
Регистрация: 26.09.2008
Сообщений: 477
23.02.2009, 17:54 5
не за что))
0
23.02.2009, 17:54
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.