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

Перевести введенное число в шестнадцатеричную систему счисления. Найти ошибку в коде

14.05.2014, 23:19. Показов 766. Ответов 5
Метки нет (Все метки)

Прошу Вас помочь найти ошибку в коде. Вроде бы как все должно работать но видимо где то втулил лишний "end".
Может что то еще неправильно. Не могли бы ли вы глянуть на данный код и подсказать начинающему что не так?)
Заранее Вам очень благодарен!
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
program sort;
 
var
  i, n, l, imax, z, z1, npol, notr: integer;
  max: real;
  x, x1, x2: array[1..1024] of real;
 
 
begin
  writeln('Введите количество чисел в массиве');
  readln(n);
  for i := 1 to n do 
  begin;
    writeln('Введите элемент №', i, ' массива');
    readln(x[i]);
  end;
  writeln('Исходный массив:');
  for i := 1 to n do 
  begin;
    write(x[i], ' ');
  end;
  writeln;
  max := x[1];
  for i := 2 to n do begin;
    if max < x[i] then
    begin
    max :=x[i];
    imax := i;
    end
    end;
if imax div 2=0 then
begin
if n div 2=0 then
begin
z1:=n/2;
for z:=n/2 downto 1 do begin;
z1:=z1+1;
x1[z]:=x[z1]; x1[z1]:=x[z];
end;
end
else 
begin
z1:=(n div 2)+1;
x1[z1]:=x[z1];
for z:=n div 2 downto 1 do begin;
z1:=z1+1;
x1[z]:=x[z1]; x1[z1]:=x[z];
end;
end
end
else
begin
npol:=0;
notr:=0;
for i:=1 to n do begin;
if x[i]>0 then
begin
xpol:=xpol+1;
x1[npol]:=x[i];
end
else
begin
if x[i]<0 then begin
notr:=notr+1;
x2[notr]:=x[i];
end
end
end;
for i:=1 to npol-1 do;
for l:=1 to npol-i do;
if x1[i]<x1[i+1] then begin
max:=x1[i];
x1[i]:=x1[i+1];
x1[l]:=max;
end
else
end;
end;
for i:=1 to notr-1 do;
for l:=1 to notr-i do;
if abs(x2[i])<abs(x2[i+1]) then begin
max:=x1[i];
x2[i]:=x2[i+1];
x2[l]:=max;
end
else
end;
end;
x:=x1;
l:=0;
for i:=npol+1 to n;
l:=l+1;
x[i]:=x2[l];
end;
for i:=notr+npol+1 to n;
x[i]:=0;
end;
end
write('Результат :');
for i:=1 to n;
write(x[i],' ');
end;
wrieln;
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2014, 23:19
Ответы с готовыми решениями:

Перевести введенное число 0 ≤ х ≤ 31 в шестнадцатеричную систему счисления
Давно не программировал, стало забываться. Задание. Перевести введенное число 0 ≤ х...

Перевести число N в шестнадцатеричную систему счисления
Обработка чисел Дано целое число N = cn-1…c0, где ci – это цифры десятичной системы счисления....

Дано число N. Требуется перевести его в шестнадцатеричную систему счисления из десятичной
Требуется вывести число N в шестнадцатеричной системе счисления. Цифры большие 10 требуется...

Введенное число перевести в троичную систему счисления
Задание: введенное число перевести в троичную систему счисления. Результат вывести на экран. Пример...

5
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
14.05.2014, 23:39 2
PASHOK, Вы хоть читайте что вам компилятор говорит...
Цитата Сообщение от PASHOK Посмотреть сообщение
z1:=n/2;
Вы делите , но z1 переменная типа интежер,это не возможно.
0
0 / 0 / 0
Регистрация: 14.05.2014
Сообщений: 9
14.05.2014, 23:47  [ТС] 3
Спасибо. Исправил. Все еще ругается на Энд. В чем проблема не могу понять(
0
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
15.05.2014, 00:48 4
PASHOK, какое у вас задание ?
0
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 26
15.05.2014, 10:17 5
Давно не программировал, стало забываться.
Задание.
Перевести введенное число 0 ≤ х ≤ 31 в шестнадцатеричную систему счисления.
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
program dec2hex;
 
{$APPTYPE CONSOLE} 
 
uses 
SysUtils; 
 
const 
BASE16 = 16; 
var 
HexValue : string; 
Ostatok: Integer; 
Chastnoe: Integer;
begin
HexValue := ''; 
write( 'Введите целое число от: ' ); 
readln(Chastnoe); 
writeln;
  begin
  if Chastnoe in [0..31] then
    while Chastnoe> 0 do
        begin
        Ostatok:= Chastnoe mod BASE16;
          case Ostatok of
            10: HexValue := 'A' + HexValue;
            11: HexValue := 'B' + HexValue;
            12: HexValue := 'C' + HexValue;
            13: HexValue := 'D' + HexValue;
            14: HexValue := 'E' + HexValue;
            15: HexValue := 'F' + HexValue;
          else
            HexValue := IntToStr( Ostatok) + HexValue;
          end;
        Chastnoe:= Chastnoe div BASE16;
        end;
      writeln(HexValue);
      writeln
    else
        writeln( 'Не подходящее число' );
        writeln;
  end.
Ошибка:
[Error] Project1.dpr(42): 'END' expected but 'ELSE' found
0
0 / 0 / 0
Регистрация: 14.05.2014
Сообщений: 9
15.05.2014, 10:40  [ТС] 6
Спасибо за ответы. Уже отпала необходимость. Там было условие отсортировать массив по тысяче признакам коих я не помню. Одногрупник просил помочь. В итоге решил написать код с нуля и все заработало, но на других условиях. В любом случае спасибо всем за потраченное время.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2014, 10:40
Помогаю со студенческими работами здесь

Перевести введённое пользователем число в 12-ичную систему счисления
Перевести введённое пользователем число в 12-ичную систему счисления

Перевести введенное число в заданную систему счисления с заданным основанием
ОБЯЗАТЕЛЬНО при помощи steck и массива перевести введенное число в заданную систему счисления с...

Перевести введенное число в десятичную систему счисления и вывести результат
Символьная строка представляет собой запись числа, записанного в некоторой произвольной системе...

Перевести введенное число в заданную систему счисления с заданным основанием
Перевести введенное число в заданную систему счисления с заданным основанием При помощи steck и...


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

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

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