Программа обработки массива

Общие вопросы: версии и диалекты, синтаксис языка, cтруктуры и типы данных (массивы, строки, списки...), обработка данных и т.д.
Ответить
Juli Warner
Сообщения: 1
Зарегистрирован: 20 июн 2013, 16:09

20 июн 2013, 16:15

Нужна помощь.
Дан массив латинских букв А [1..n]. Отсортировать их методом выделения максимального элемента в порядке убывания. Вычислить сумму четных кодов элементов. Вывести на экран отсортированный массив и вычисленное значение.
При выводе переменные задаются заглавными буквами. Как исправить?

Код: Выделить всё

Uses Crt;
var a:array [1..100]of char;
i,n,j,x,s:integer;
buf:char;
Begin
ClrScr;
WriteLn('Vvedite razmer massiva');
ReadLn(n);
WriteLn('Vvedite elementy massiva');
for i:=1 to n do
ReadLn(a[i]);
WriteLn('Massiv do sortirovki');
for i:=1 to n do
Write(a[i],'');
WriteLn;
WriteLn('Ishodniy masssiv:');
for i:=1 to n do
begin
a[i]:=chr(65+random(26));
write(a[i]:2);
end;
WriteLn;
for i:=1 to n-1 do
begin
x:=i;
for j:=i+1 to n do
if a[j]>a[x] then x:=j;
buf:=a[i];
a[i]:=a[x];
a[x]:=buf;
end;
WriteLn('Uporyadochenniy massiv:');
s:=0;
for i:=1 to n do
begin
write(a[i]:2);
if ord(a[i]) mod 2 =0 then s:=s+ord(a[i]);
end;
WriteLn;
Write('Summa chetnih kodov=',s);
ReadLn
End.
Буду очень благодарна :)
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

20 июн 2013, 22:59

a:=chr(65+random(26));
65 заменить на ord('a')
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить