30.10.2012, 16:11 | #1 (permalink) |
Member
Регистрация: 29.09.2012
Сообщений: 72
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Строки в Паскаль
|
30.10.2012, 16:11 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Отправляю вам топики, которые по содержанию напоминают ваш Паскаль, строки Строки. Паскаль Паскаль. Строки Строки, Паскаль Паскаль, символы и строки |
30.10.2012, 19:33 | #2 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Что-то мне ваши задачи напоминают задания муниципального этапа олимпиады по информатике. Попробуйте меня в этом переубедить, скажите, откуда задачки?
Общими словами о решении задач. По первой: в Pascal есть функция преобразования строки в число и числа в строку. Для решения задачи вам понадобится в цикле вырезать из строки по 1 символу, проверять, соответствует ли он числу или знаку арифметической операции и соответственно выполнять действие. По второй: найдите первое и последнее включение пробела, промежуточным переменным присвойте вырезанное первое слово до пробела и слово из конца, при этом параметрами для вырезки будут порядковые номера символа пробел из определенных вначале. Затем результирующей переменной присвойте новое сочетание символов, полученное путем сложения промежуточных переменных и оставшейся части исходной строки. |
31.10.2012, 17:01 | #3 (permalink) |
Member
Регистрация: 29.09.2012
Сообщений: 72
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
спасибо) это лабы по инфе 1-го курса, просто нам нифига не объясняют, к концу ноября надо сдать 8 лаб эта 5( а так же умудриться их защитить когда на зищите код получается намного сложнее а с программированием я познакомился ток в сентябре(
|
31.10.2012, 20:45 | #4 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Const Sig=['*','/','+','-']; Var S,s1:String; i:Byte; Code:Integer; C:Char; a,Result:real; Begin Writeln('Enter the string:'); Readln(S); s1:=''; i:=0; Repeat Inc(i); If Not (S[i] in Sig) then s1:=s1+S[i]; Until S[i] in Sig; C:=S[i]; Val(s1,a,Code); Result:=a; Repeat s1:=''; Repeat Inc(i); If (Not (S[i] in Sig)) and (i<=Length(S)) then s1:=s1+S[i]; Until (S[i] in Sig) or (i=Length(S)); Val(s1,a,Code); Case C of '*': Result:=Result*a; '/': Result:=Result/a; '+': Result:=Result+a; '-': Result:=Result-a; end; If i<Length(S) then C:=S[i]; Until i=Length(s); Writeln('Result: ',Result:0:3); Readln; End. Код:
Var S,s1,s2:String; n1,n2:Byte; Begin Writeln('Enter the string:'); Readln(S); n1:=0; n2:=0; Repeat Inc(n1); Until S[n1]=' '; Dec(n1); Repeat Inc(n2); Until S[Length(S)+1-n2]=' '; Dec(n2); s1:=Copy(S,1,n1); s2:=Copy(S,Length(S)+1-n2,n2); Delete(S,1,n1); Delete(S,Length(S)+1-n2,n2); Insert(s2,S,1); Insert(s1,S,Length(S)+1); Writeln(S); Readln; End. |
|
14.11.2012, 13:10 | #5 (permalink) |
Member
Регистрация: 29.09.2012
Сообщений: 72
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
спасибо))) мне сейчас на то что проходили не проходили всеравно)) делаю как могу)))че не получается оюращаюсь к вам
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
30.11.2012, 18:55 | #6 (permalink) |
Member
Регистрация: 29.09.2012
Сообщений: 72
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Здравствуйте)) объясните мне на пальцах, как из строки различных символов(ghjk&*(ghjk8987iuynl...) вывести только гласные буквы)) просто доконца не понимаю как составить для этого цикл
Код:
for i:=1 in legth(s)do begin if s[i] in [ 'e', 'o', 'i', 'a', 'u', 'y', 'A', 'O', 'I', 'E', 'U', 'Y']; then begin {вот это место где нужно присвоить переменной значение} |
03.12.2012, 11:47 | #7 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Прежде всего, надо отвыкать от манеры писать программы абы как шаляй-валяй левой задней ногой. Программирование такого не прощает. Тут требуется предельная внимательность и точность. А Вы в двух строках умудрились аж 4 ошибки всадить!
1. У Вас цикл описан, как for..in..do, а правильно for..to..do 2. В слове length пропущена буква "n" 3. Перед "do" желателен отступ 4. В условном операторе if после условия перед then разделитель ; абсолютно недопустим А задача решается так: Код:
Var S,S1:String; i:byte; Begin S:='ghjk8987iuynlwenFJKcvtrmj76faOWML:UTL&^(LUH'; Writeln(S); S1:=''; for i:=1 to length(S) do if S[i] in ['e','o','i','a','u','y','A','O','I','E','U','Y'] then S1:=S1+S[i]; Writeln(S1); Readln End. |
03.12.2012, 12:18 | #8 (permalink) |
Member
Регистрация: 29.09.2012
Сообщений: 72
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
ошибки то само собой есть эт просто невнимательность)я не всегда понимаю что нужно писать после then)и в этом проблема)спасибо)
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|