08.05.2008, 00:49 | #1 (permalink) |
Новичок
Регистрация: 08.05.2008
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Вобщем мне нужно написать программу по условию: Дан текст из строчных латинских букв, за которым следует точка. Составить программу для распечатки всех букв, входящих в текст не менее двух раз. Если не трудно помогите пожалуйста. Заранее благодарен. |
08.05.2008, 00:49 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Ваш пост по содержанию очень схож с данными темами Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл Паскаль Паскаль Паскаль |
08.05.2008, 11:27 | #2 (permalink) | |
Member
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
|
Цитата:
так же несколько вопросов текст дан или же всетаки строка? все буквы идут подряд без пробелов? т.е просто набор букв? |
|
08.05.2008, 13:37 | #4 (permalink) |
Member
Регистрация: 26.03.2007
Сообщений: 89
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 17
|
1. создаешь массив чисел, где номер ячейки равен коду символа и обнуляешь его (записываешь нули).
2. проходишь посимвольно всю строку и увеличиваешь на единицу значение той ячейки массива, номер которой равен коду обнаруженного символа. 3. по окончании строки символов перебираешь ячейки массива и выводишь символы, код которых равен номеру ячейки значение которой больше единицы. Это краткий алгоритм, требующий знания массивов, циклов и кодов символов. Сам код написать не могу бо паскаль позабывал уже давно, а вспоминать влом. |
08.05.2008, 17:13 | #5 (permalink) |
Member
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
|
Var
S:string; Mas1:array [1..255] of string; Mas2:array [1..225] of integer; I,d,k,j,fl,l:integer; Begin Writeln(‘Vvedite stroku’); Readln(s); D:=longth(s); Mas1[1]:=s[1]; Mas2[1]:=1; K:=1; For i:=2 to d do begin for j:=1 to k do if mas[j]=s[i] then begin fl:=1; l=j; break; end else fl:=0; if fl=1 then mas2[l]:=mas2[l]+1 else begin k:=k+1; mas1[k]:=s[i]; mas2[k]:=1; end; end; for i:=1 to k do if mas2[i]=>2 then writeln(mas1[i],’ ‘,mas2[i]); end. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
08.05.2008, 17:16 | #6 (permalink) |
Member
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
|
не гарантию обсалютную правильность кода так как писал в ворде и не отлаживал
но если возникнут вопросы или нужны буду коментарии то обьясню либо до 17-00 сего дня либо только завтра вечером |
08.05.2008, 17:37 | #7 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
bubuka
length(s) будет правильно, а вырезку символа из строки можно реализовать командой copy(s,1,i) ;)
__________________
Убить всех человеков! |
08.05.2008, 18:02 | #8 (permalink) | |
Member
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
|
Цитата:
можно и командой обратиться - но мне нравиться обращаться к строке как к масиву - так понятней :lol |
|
08.05.2008, 18:47 | #9 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Тогда с именами массивов подразобраться надо :D, а то во внутреннем цикле имя массива не определено ;). Там ведь должно быть mas1[j], я правильно понял?
__________________
Убить всех человеков! |
12.05.2008, 01:11 | #10 (permalink) |
Новичок
Регистрация: 08.05.2008
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
всем большое спасибо за помощь (прощу прощения, что так долго не отписывался, уезжал)
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|