14.05.2011, 07:46 | #1 (permalink) |
Новичок
Регистрация: 14.05.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите написать програмы на C++ и в Паскале
5. Задан двухмеpный массив, содеpжащий n стpок и m столбцов. Дополнить его n+1 стpокой и m+1 столбцом, в котоpых записать суммы соответствующих стpок и столбцов. Элемент, находящийся в n+1 стpоке и m+1 столбце должен содеpжать сумму элементов исходного массива. 6. Дана стpока (не более 150 символов), слова в котоpой pазделяются одним или несколькими пpобелами. Pазpаботать подпpогpамму, котоpая опpеделяет, является ли заданная стpока палиндpомом, т.е. читается одинаково слева напpаво и спpава налево, напpимеp, "А pоза упала на лапу Азоpа". |
14.05.2011, 07:46 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Пожалуйста, не делайте поспешный действий, лучше ознакомьтесь с похожими топиками Помогите написать программы в Паскале. Помогите написать программу в Паскале Помогите написать программу в Паскале |
14.05.2011, 11:49 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
1. Язык Паскаль (на Си я, к сожалению, не пишу). 2. Поскольку приходится отрабатывать регистр, т.е., например, приводить всю фразу к строчным буквам, с кириллицей заморачиваться я, уж не взыщите, не буду. По причине множественности кодировок, неудобства таблиц и пр. Так что программа работает ТОЛЬКО с латиницей. Проверить можете на примере A roza upala na lapu Azora. Код:
VAR S,S1:String; i,k,Lng:Byte; BEGIN WriteLn('Enter the string:'); ReadLn(S); {Все прописные буквы заменяем строчными} For i:=1 to Length(S) do If (Ord(S[i])>64) and (Ord(S[i])<91) then S[i]:=Chr(Ord(S[i])+32); {Полностью удаляем все пробелы} i:=0; Repeat Inc(i); If S[i]=' ' then begin k:=0; repeat Inc(k); until S[i+k]<>' '; Delete(S,i,k); end; Until i=Length(S); {Инициализируем строковую переменную S1} S1:=S; {Заполняем S1 символами строки S в обратном порядке} For i:=1 to Length(S) do S1[i]:=S[Length(S)-i+1]; {Сравниваем строки S и S1 и выводим результат} If S=S1 then Writeln('The string is a palindrome') else Writeln('The string is not a palindrome'); Readln; END. |
|
14.05.2011, 12:27 | #3 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Pascal |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|