IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Как преобразовать слово в символьный массив?, Паскаль
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


Подскажите пожалуйста, каким макаром из какого-нибудь слова создать отсортированный символьный массив?
Т.е. дано слово, его нужно разложить и запихнуть в символьный массив, а потом отсортировать в обратном алфавитном порядке.

Нашел на форуме:
a:array['A'..'Z'] of чего_то_там;
i:char;
...

for i:='A' to 'Z' do a[i]:=что_то_нужное_мне

Там дальше понятно, как делать перебираем через фор алфавит и сравниваем с нашим массивом и присваеваем.... и т.д.

А как разбить слово на буквенный массив?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Слово задано в виде строки (String)? Тогда оно уже в виде "буквенного" массива, ты же можешь к каждому символу строки обратиться отдельно...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Выкладываю решенную задачу, если кому-нибудь понадобится.


program sort;

type
Dataitem=char;
DataArray=array[1..100] of char;
var
massiv:DataArray;
t,t2:integer;
slovo:string;

Procedure Bubble(var item:DataArray; count:integer);
var
i,j:integer;
x:Dataitem;
begin
for i:=2 to count do
begin
for j:=count downto i do
if item[j-1]<item[j] then
begin
x:=item[j-1];
item[j-1]:=item[j];
item[j]:=x;
end;
end;
end;

begin
slovo:='н«ҐЄваЁдЁЄ жЁп';
for t:=1 to length(slovo) do massiv[t]:=char(slovo[t]);
Bubble(massiv, t);
Write(''
Write('Њ ббЁў а бЇ®«®¦Ґ­­л© ў ®Ўа в­®¬  «д ўЁв­®¬ Ї®ап¤ЄҐ: ');
for t2:=1 to t do write(massiv[t2]);
Writeln;
end.

 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


Прошу у знающих, совета, ... может что-нибудь изменить, чтобы красиво было?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата
может что-нибудь изменить, чтобы красиво было?
Так красивее будет, правда?
program sort;

type
DataItem = Char;
DataArray = array[1..100] of DataItem;
var
massiv:^DataArray;
slovo:string;

Procedure Bubble(var item: DataArray; count: integer);
var
i, j: integer;
x: DataItem;
begin
for i := 2 to count do begin
for j := count downto i do

if item[j-1]<item[j] then begin
x:=item[j-1];
item[j-1]:=item[j];
item[j]:=x;
end;

end;
end;

begin
slovo := 'start, finish';

massiv := @slovo[1];
Bubble(massiv^, length(slovo));
Write('sorted word: ');
writeln(slovo);
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


Может и так... Спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 6:02
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name