![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Ali |
![]()
Сообщение
#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-м ее элементами |
![]() ![]() |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
1 и 2 решается,используя материал FAQ'a...
FAQ: Разбиение строки на слова. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
hiv |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
3) Рекурсивная функция:
type Tstr=packed array(1..100) of char; Сообщение отредактировано: volvo - 2.11.2006 0:23 -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
настя |
![]()
Сообщение
#4
|
Гость ![]() |
подскажите пожалста поподробней как эту задачку решать, а то у меня че то циклица
![]() |
мисс_граффити |
![]()
Сообщение
#5
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
что именно у тебя "циклица"?
код - в студию -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Гость |
![]()
Сообщение
#6
|
Гость ![]() |
задача у меня выглядит так:
function simm(S:string; i,j:integer):boolean; Я бы сказала что оно вообще как-то не так работает, а как надо я не знаю. Помогите пожалуйста! Сообщение отредактировано: volvo - 2.11.2006 0:23 |
настя |
![]()
Сообщение
#7
|
Гость ![]() |
туда надо по идее еще одну переменную ввести а какую и куда я незнаю
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Цитата туда надо по идее еще одну переменную ввести Не надо туда ничего вводить - оттуда еще убрать можно половину... Зачем тебе B, например? Да и вызываешь ты функцию так, что она у тебя заведомо всегда будет выдавать True, потому, что с первого по шестой символ-то строка как раз симметрична...Попробуй: uses crt; |
настя |
![]()
Сообщение
#9
|
Гость ![]() |
искренне восхищаюсь вашим мастерством! огромнейшее спасибо за помощь!
а еще с одной поможете? Програмка без процедуры работает отлично , но препод требует хлеба и зрелищ, а точнее процедуру. Начинаю переделывать - не работает! не посмотрите что не так? Задачка такая: Два натуральных числа называются «дружественными», если каждое из них равно сумме всех делителей (кроме его самого) другого (например, числа 220 и 284). Найти все пары «дружественных чисел», которые не больше данного числа N. |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
|
Гость |
![]()
Сообщение
#11
|
Гость ![]() |
решала я ее так:
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. |
volvo |
![]()
Сообщение
#12
|
Гость ![]() |
А вот это я не буду смотреть, извини... Во-первых, я тебе привел ссылку на свое решение, зачем мне еще раз изобретать велосипед. А во-вторых, ЭТО со строками (кажется, это ЧУЖАЯ тема, с ЧУЖИМ вопросом, не так ли?) никак не связано...
|
настя |
![]()
Сообщение
#13
|
Гость ![]() |
я, несмотря на многочисленные старания, ваше предыдущее решение не понимаю. Если это возможно скажите что у меня не так, ведь без процедуры же все работает. Заранее благодарна.
|
![]() ![]() |
![]() |
Текстовая версия | 23.06.2025 11:16 |