IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задачи на строки, Помогите пожалуйста
Ali
сообщение 31.05.2005 6:51
Сообщение #1


Гость






Помогите очень надо, а я в программировании не силен, заранее спосибо

1. Дана последовательность, содержащая от 2 до 30 слов,
в каждом из которых от 2 до 10 латинских букв, между соседними словами - не менее
одного пробела, за последним словом - точка. Напечатать все слова, отличные от
последнего слова, предварительно преобразовав каждое из них по следующему правилу:
удалив из слова все предыдущие вхождения последней буквы.

2. Дана непустая последовательность слов, в каждом из которых от 1 до 6 латинских букв n, л
между соседними словами - запятая, за последним словом - точка. Напечатать те слова, у которых
одинаковые "соседи", т.е. совпадают предыдущее и следующее слова (определить процедуру readword(w)
которое вводит очередное слово и присваевает его 6-литерной строке w, а запятую или точку, присваевает некоторой глобальной переменной).

3. type строка=packed array(1..100) of char;
описать рекурсивную логическую функцию симм(s,i,j) проверяющую, является ли симметричной часть строки S, начинающаяся i-м и кончающаяся j-м ее элементами
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Гость
сообщение 30.10.2006 21:16
Сообщение #2


Гость






решала я ее так:
uses crt;
var mas:array[1..500,1..2] of integer;
n,k,s2,s1,j,i: integer;
procedure sum;
Var i,j,k:integer;
s1:integer;
begin
s1:=0;
inc(k);
for i:=1 to trunc(j/2) do
if (j mod i:=0) then s1:=s1+i;
mas[k][1]:=s1;
mas[k][2]:=j;
end;


Begin
begin
write('введите число');
readln(n);
k:=0;
for i:=2 to n do
sum;
end;
s2:=0;
for i:=1 to k do
for j:=1 to k do
if (i<>j) then
begin
if (mas[i][1]=mas[j][2]) and (mas[j][1]=mas[i][2]) then
begin
writeln(mas[i][2], ' ', mas[j][2]);
inc(s2);
end;
if (s2=24) then
begin
readkey;
clrscr;
s2:=0;
end;
end;
readln;
end.


 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 24.06.2025 4:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"