0 / 0 / 0
Регистрация: 24.03.2018
Сообщений: 18
1

Надо найти ошибку

14.06.2018, 00:17. Показов 473. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
program calculator;
 
uses crt;
 
var
    n1, n2, a, s, d, x, ir1, ir2, ir11, ir22, iz1, iz2, iir, iir1: integer;
    r1, r2, r11, rrezult, rz1: real;
    c: char;
    
begin
a:= 0;
s:= 0;
x:= 0;
n1:= 0;
n2:= 0;
d:= 0;
repeat
readln(r1);
ir1:= round(r1);
ir11:= round(r1 * 10);
    if ir11 mod 10 = 0 then
    begin
    repeat
        ir1:= ir1 div 10;
        inc(n1);
    until (ir1 <= 0);
        gotoXY(whereX + (n1+ 1), whereY - 1);
    readln(c);
        gotoXY(whereX + (n1 + 3), whereY - 1);
    readln(r2);
    ir2:= round(r2);    
    ir22:= round(r2 *10);
        if ir22 mod 10 = 0 then
        begin
        repeat
            ir2:= ir2 div 10;
            inc(n2);
        until (ir2 <= 0);
            gotoXY(whereX + (n1 + n2 + 4), whereY - 1);
        write('= ');    
            case c of
            '+': rrezult:= r1 + r2;
            '-': rrezult:= r1 - r2;
            '/': rrezult:= r1 / r2;
            '*': rrezult:= r1 * r2;
            else
            writeln('ERROR: Такой операции не существует');
            end;
            rz1:= rrezult;
            iz1:= trunc(rrezult);
            if c = '/' then
            begin
            repeat
            rz1:= rz1 * 10;
            inc(d);
            iz2:= trunc(rz1);
            until (iz2 mod 10 = 0);
            repeat
            iz1:= iz1 div 10;
            inc(x);
            until (iz1 <= 0);
            d:= d - 1;
            writeln(rrezult: x : d);
            end 
            else
            writeln(round(rrezult));
        end
    end
    else
    begin
    r11:= r1;
    repeat
        r11:= r11 * 10;
        inc(a);
        iir:= trunc(r11);
    until (iir mod 10 = 0);
    iir1:= trunc(r1);
    repeat
        iir1:= iir1 div 10;
        inc(s);
    until (iir1 <= 0);
        gotoXY(whereX + (a + s + 1), whereY - 1);
    readln(c);
        gotoXY(whereX + (a + s + 3), whereY - 1);
    readln(r2); 
    ir2:= trunc(r2);    
    ir22:= trunc(r2 *10);
        if ir22 mod 10 = 0 then
        begin
        repeat
            ir2:= ir2 div 10;
            inc(n2);
        until (ir2 <= 0);
        gotoXY(whereX + (a + s + n2 + 4), whereY - 1);
        write('= ');
            case c of
            '+': rrezult:= r1 + r2;
            '-': rrezult:= r1 - r2;
            '/': rrezult:= r1 / r2;
            '*': rrezult:= r1 * r2;
            else
            writeln('ERROR: Такой операции не существует');
            end;
            rz1:= rrezult;
            iz1:= trunc(rrezult);
            repeat
            rz1:= rz1 * 10;
            inc(n1);
            iz2:= trunc(rz1);
            until (iz2 mod 10 = 0);
            repeat
            iz1:= iz1 div 10;
            inc(x);
            until (iz1 <= 0);
            n1:= n1 - 1;
            writeln(rrezult: x : n1);
        end
        else
        begin
        rz1:= r2;
        repeat
        rz1:= rz1 * 10;
        inc(n2);
        iz1:= trunc(rz1);
        until (iz1 mod 10 = 0);
        repeat
        ir2:= ir2 div 10;
        inc(d);
        until (ir2 <= 0);
        gotoXY(whereX + (a + s + n2 + d + 3), whereY - 1);
        write('= ');
            case c of
            '+': rrezult:= r1 + r2;
            '-': rrezult:= r1 - r2;
            '/': rrezult:= r1 / r2;
            '*': rrezult:= r1 * r2;
            else
            write('ERROR: Такой операции не существует');
            end;
            rz1:= rrezult;
            iz1:= trunc(rrezult);
            repeat
            rz1:= rz1 * 10;
            inc(n1);
            iz2:= trunc(rz1);
            until (iz2 mod 10 = 0);
            repeat
            iz1:= iz1 div 10;
            inc(x);
            until (iz1 <= 0);
            n1:= n1 - 1;
            writeln(rrezult: x : n1);
        end;
    end;
until (false);
end.
Я знаю, что капец как коряво
У меня такая проблема
я запускаю программу
я хочу так:
Код
12 / 3 = 4
12 + 3 = 15
12 - 3 = 9
а у меня получается так
Код
12 / 3 = 4
12   +  3 = 15
12     -    3 = 9
примерно так
Помогите найти, что я сделал не так и почему так получается
ооооочень коряво, но всё же

Добавлено через 7 часов 5 минут
Я понял, уже не надо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2018, 00:17
Ответы с готовыми решениями:

Надо найти ошибку
Отдельные буквы русского алфавита, слова, фразы. Свойства: шрифт, размер, стиль (полужирный,...

надо найти ошибку
program ZADACA2_1; uses crt; var H:text; P,Pn,Pk,hP:integer; V,Vn,Vk,hV:real;...

Массивы.Надо найти ошибку
program lab7; uses crt; var a:array of integer;i,j:integer;s:real; begin clrscr;randomize;...

Надо найти ошибку в программе
program test; var x,y,t,summa,add:real; n:integer; begin x:=0; n:=1; while x&lt;= 4 do begin if...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2018, 00:17
Помогаю со студенческими работами здесь

Надо найти ошибку.Файлы.
Собственно задание такое:В файл f записать элементы,потом из файла f в файл g.сначала записать...

Не могу найти ошибку!! не могу не как разобраться! надо до завтра.
условие: Для 7 человек, среди которых есть мужчины и женщины, хранятся следующие данные: имя, пол...

Исправить ошибку надо
Помогите исправить ошибку,ПЛЗ, при выполнении процедуры nechet вылетает ошибка: выход за границы...

исправите ошибку, пожалуйста до четверга надо сдать
{$A+,N+,B+,D+,E+,F+,G+,I+,L+,O+,P+,Q+,R+,S+,T+,V+,X+,Y+} {$M 16384,0,655360} program kur; uses...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru