![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 18.04.2012
Сообщений: 2
|
![]()
условие:
Напишите процедуру sortmid, которая сортировала бы ряд из n строк в алфавитном порядке, основываясь на k-ой литере каждой строки, где k является параметром, передаваемым процедруре sortmid. Например, если k=3, то элементы ряда должны быть отсортированы по возрастанию значения в третьей литере каждой строки. Если длина строки меньше k, то будем предполагать что его k-й литерой, реально не существующей, служит пробел Помогите расставить комментарии к задаче. const n=3; type text=array[1..n] of string; var k: integer; a: text; Procedure VVod(var a:text); var i:integer; begin writeln ('Введите строки:'); for i:=1 to n do readln (a[i]); end; Procedure sortmid(var a:text; k:integer); var i,j:integer; c1,c2:char; Procedure Obmen (m,l:integer); var st:string; begin st:=a[m]; a[m]:=a[l]; a[l]:=st end; begin for i:=1 to n-1 do for j:=1 to n-i do begin if length(a[j])>=k then c1:=a[j][k] else c1:=' '; if length(a[j+1])>=k then c2:=a[j+1][k] else c2:=' '; if c1>c2 then Obmen(j,j+1) end end; Procedure Vivod(a:text); var i:integer; begin for i:=1 to n do writeln (a[i]) end; Begin VVod(a); writeln ('Введите k'); readln(k); Sortmid (a,k); Vivod(a) End. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка строк | djdoka | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 27.03.2011 15:50 |
Обработка строк | Bell Mort | Общие вопросы C/C++ | 0 | 28.11.2010 16:15 |
Обработка строк | Тигран001 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 24.04.2010 11:34 |
Обработка строк | Тигран001 | Помощь студентам | 2 | 24.04.2010 10:32 |
Паскаль... Обработка литерных величин... | Сеня | Помощь студентам | 2 | 23.02.2009 22:59 |