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

Не запускает програму

02.12.2011, 20:34. Показов 627. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Запускаю програму на турбо паскале и оно выбивает ошибку на StrIntTo. Что делать с прогой можно и почему ошибка?
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
program algoritm;
uses crt;
var i,des,n,l,dva,delo:integer;
s,dvaS,s2:string;
begin
Writeln('Vvedite shestnadtsatichnoe chislo:');
read(s);
l:=length(s);
for i:=1 to length(s) do
begin
if (s[i]>#47) and (s[i]<#58) then 
begin
dva:=StrToInt(s[i]);
if dva=0 then s2:='0000';
if dva=1 then s2:='0001';
if dva=2 then s2:='0010';
if dva=3 then s2:='0011';
if dva=4 then s2:='0100';
if dva=5 then s2:='0101';
if dva=6 then s2:='0110';
if dva=7 then s2:='0111';
if dva=8 then s2:='1000';
if dva=9 then s2:='1001';
end
else 
begin
if s[i]='A' then s2:='1010';
if s[i]='B' then s2:='1011';
if s[i]='C' then s2:='1100';
if s[i]='D' then s2:='1101';
if s[i]='E' then s2:='1110';
if s[i]='F' then s2:='1111';
end;
dvaS:=dvaS+S2;
end;
Writeln('Dvoichnoe chislo: ',dvaS);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2011, 20:34
Ответы с готовыми решениями:

Подскажите как в програму поместить ещё одну програму чтоб это было одно целое ???
Ребят подскажите как сделать так чтоб в програме было несколько окон , Например у меня написан...

Не запускает функцию
Выдает ошибку при компиляции,но если убрать вызываемую функцию yyy,то все работает. #include...

Не запускает отладку
При работе с типом char постоянно вылезает окно - Вызвано исключение по адресу 0x523DF73C...

Не запускает игры!
Запускаю игру, крутится круг возле курсора и ничего не происходит! Вчера играл было всё нормально,...

5
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
02.12.2011, 20:42 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var dva:char;
..............
for i:=1 to length(s) do
begin
if s[i]in ['0'..'9'] then
begin
if dva='0' then s2:='0000';
if dva='1' then s2:='0001';
if dva='2' then s2:='0010';
if dva='3' then s2:='0011';
if dva='4' then s2:='0100';
if dva='5' then s2:='0101';
if dva='6' then s2:='0110';
if dva='7' then s2:='0111';
if dva='8' then s2:='1000';
if dva='9' then s2:='1001';
1
14 / 0 / 0
Регистрация: 10.11.2011
Сообщений: 15
02.12.2011, 21:39  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
if s[i]in ['0'..'9] then
Cнова ошибка...
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
02.12.2011, 21:45 4
Pascal
1
if s[i]in ['0'..'9'] then
Пропустил апостроф после 9, надо бы такое самой уметь находить.
0
14 / 0 / 0
Регистрация: 10.11.2011
Сообщений: 15
02.12.2011, 21:50  [ТС] 5
я подумала, но малоли, лучше спрошу... Уже три дня нет нормального сна с этой учёбой

Добавлено через 3 минуты
А как настроить, чтобы прога прибавляла правильно 1010+1111=10101111 считаетО_о
1010+1111=11000 - правильно
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
03.12.2011, 09:21 6
Цитата Сообщение от Ylubochka Посмотреть сообщение
чтобы прога прибавляла правильно
Здесь же не сложение, а приписывание, тетрады это цифры в СС16, записанные в СС2.
Например 10101111 это число AF

Добавлено через 2 минуты
Сложение чисел в СС2 это совсем другое, если нужно, вот пример.

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
uses crt;
var s1,s2:string;
    a,b,c:array[byte] of 0..1;
    n,m,i,j,p:byte;
    k:integer;
begin
clrscr;
repeat
p:=0;
write('Введите число A в СС 2:');
readln(s1);
i:=1;
while(i<=length(s1))and(p=0) do
if not(s1[i] in ['0','1']) then p:=1
else i:=i+1;
until p=0;
repeat
p:=0;
write('Введите число B в СС 2:');
readln(s2);
i:=1;
while(i<=length(s2))and(p=0) do
if not(s2[i] in ['0','1']) then p:=1
else i:=i+1;
until p=0;
if length(s1)<length(s2) then
while length(s1)<length(s2) do
s1:='0'+s1
else if length(s1)>length(s2) then
while length(s2)<length(s1) do
s2:='0'+s2;
writeln('  ',s1);
writeln(' +');
writeln('  ',s2);
for i:=1 to length(s1)+2 do
write('-');
writeln;
n:=length(s1);
m:=n;
for i:=1 to n do
 begin
  val(s1[i],a[i],k);
  val(s2[i],b[i],k);
 end;
p:=0;
for i:=n downto 1 do
  begin
   c[i]:=a[i]+b[i]+p;
   if (c[i]>1)and(i>1) then
      begin
       c[i]:=c[i] mod 2;
       p:=1;
      end
    else p:=0;
  end;
if c[1]>1 then
  begin
    c[1]:=c[1] mod 2;
    n:=n+1;
    for j:=n downto 2 do
    c[j]:=c[j-1];
    c[1]:=1;
  end;
if n=m then write('  ')
else write(' ');
for i:=1 to n do
write(c[i]);
readln
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2011, 09:21
Помогаю со студенческими работами здесь

Не запускает задачу
В VS создал пустой проект win32, написал код #include &lt;iostream&gt; #include &lt;vector&gt; using...

Компилирует, но не запускает.
Выдаёт ошибку &quot;exception in thread main java.lang.noclassdeffounderror&quot;...&quot;Program will exit&quot; При...

Мать не запускает БП
Добрый день. Недавно комп на работе сам отключился. Проверил БП - рабочий. Лампочка на материнке...

Не запускает диск
Народ помогите!... ноут toshiba satellite l650d-120 дисковод Tsstcorp Cddvdw Ts L633c переустановил...


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

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

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