![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
anniie |
![]()
Сообщение
#1
|
Гость ![]() |
Как все буквы в строке сделать маленькими?
|
![]() ![]() |
SKVOZNJAK |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: ![]() ![]() ![]() |
Преобразовать в числа и отнять/добавить константу, которую можно найти опытным путём for q:=1 to 20 do writeln(ord(readkey));
Прибавлять нужно только к Большим буквам! Для английских 32, для русских ASCII 80, ДЛЯ БУКВЫ Ё другая константа! Затем числа конвертировать в буквы и записать в строку. |
anniie |
![]()
Сообщение
#3
|
Гость ![]() |
Я не въехжаю чего куда писать..Если кто может, то допишите плз эту программу..Она распределяет слова в строке по алфавиту и колву букв,но чтоб прально распределялось по алфавиту нада чтоб все буквы маленькими были..как это сделать?Допишите плз!
Код uses crt; type arr=array[1..100]of string[80]; procedure enter(var s:string); begin write('Vvedite stroky:');readln(s) end; procedure words(s:string;var y:arr;var k:integer); var i:integer;slovo:string; begin i:=1;k:=0; while i<=length(s) do begin slovo:=''; while (s[i] in ['A'..'Z'])or(s[i] in ['a'..'z']) do begin slovo:=slovo+s[i];i:=i+1;end; k:=k+1;y[k]:=slovo; while not((s[i] in ['A'..'Z'])or(s[i] in ['a'..'z']))do i:=i+1; end; end; procedure sort(x:arr;nx:integer;var y:arr); var i,j:integer;tmp:string; begin y:=x; for i:=1 to nx-1 do for j:=i+1 to nx do if length(y[i])>length(y[j]) then begin tmp:=y[i];y[i]:=y[j];y[j]:=tmp;end; end; procedure sort2(x:arr;nx:integer;var y:arr); var i,j:integer;tmp:string; begin y:=x; for i:=1 to nx-1 do for j:=i+1 to nx do if y[i]>y[j] then begin tmp:=y[i];y[i]:=y[j];y[j]:=tmp;end; end; procedure slova(x:arr;nx:integer); var i:integer; begin for i:=1 to nx do write(x[i],#32) end; var my:string;n:integer;word,srtwrd:arr; begin textcolor(4); repeat clrscr;writeln('1-Vvod,2-Vivod,3-Slova,4-Sort,Esc-Quit'); case readkey of '1':enter(my); '2':writeln(my); '3':begin words(my,word,n); slova(word,n) end; '4':begin sort(word,n,srtwrd); slova(srtwrd,n) end; '5':begin sort2(word,n,srtwrd); slova(srtwrd,n) end; #27:exit;end; readkey until false; end. |
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 20:27 |