KMA
Долгожитель
|

А где стандартное: "Здравствуйте, помогите решить"??? Суть в следующем: по правилу русского языка (и любого другого) все слова отделяются друг от друга пробелами (некий "пустой" символ, небольшое расстояние между словами, как правило всегда стандартное, на клавиатуре самая длинная кнопка (имеется в виду клавиатура стандартная на 102 кнопки)). Чтобы знать, что перед нами слово необходимо и достаточно условием будет существование непробельных символов между двумя пробелами. Т. е. любой слово выделяется двумя пробелами и мы можем всегда это потребовать. Пусть человек ввел строку начинающуюся и заканчивающуюся непробельными символами. Тогда дополнив строку перед обработкой справа и слева мы получим нужную нам строку. Собственно, вот тебе и решение
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 12 апр. 2008 3:04 | IP
|
|
RICHPERS
Новичок
|
ну про то, что пробел это самая длинная кнопка, конечно отжег)) я не на столько глупа)), мне надо чтоб эта программа была на идиотов расчитана, человек может ввести хоть 10 пробелов между словами, но слова надо определить, ну как это сделать то?(здравствуйте помогите решить)
|
Всего сообщений: 12 | Присоединился: апрель 2008 | Отправлено: 12 апр. 2008 13:38 | IP
|
|
KMA
Долгожитель
|

Все очень просто, юзаешь функцию такого типа:
Code Sample:
function trimSpaces(s: string): string; begin while pos(' ', s) do delete (s, pos(' ', s), 1); trimSpaces:=s end;
Просто применяешь ее к нужной тебе строке и все пробелы лишние исчезнут . Это далеко не самый оптимальный код, зато быстрый и работает. Да ' ' это ДВА пробела, а не один . И потом с одним пробелом ты уже задачу сможешь решить по описанному выше алгоритму
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 14 апр. 2008 23:38 | IP
|
|
RICHPERS
Новичок
|
паааасибаа=)))))))
|
Всего сообщений: 12 | Присоединился: апрель 2008 | Отправлено: 15 апр. 2008 7:24 | IP
|
|
Den 4 ik
Новичок
|
народ!кто сможет,помоготе пожалуйста!!!вроде просто но у меня не получается.в одномерном массиве выполнить упорядочение по возростанию.как?если еще одну переменную ввести,то распределяет только первые три числа
|
Всего сообщений: 6 | Присоединился: апрель 2008 | Отправлено: 16 апр. 2008 20:24 | IP
|
|
Serega1992
Новичок
|
Значит, в алгоритме есть какая-то ошибка. Отправляйте сюда своё решение, а потом уже будут сделаны выводы. P.S. Вообще, в Интернете для таких типовых задач уже есть готовые решения, поищите.
|
Всего сообщений: 50 | Присоединился: апрель 2008 | Отправлено: 16 апр. 2008 21:13 | IP
|
|
RICHPERS
Новичок
|
хм....Здрасьте...Как ряд Фибоначчи сделать?=)...вообще никаких догадок нету...
|
Всего сообщений: 12 | Присоединился: апрель 2008 | Отправлено: 17 апр. 2008 20:06 | IP
|
|
Den 4 ik
Новичок
|
помогите!!!я не могу понять где проблема. var a:array[1..10] of integer; i,p:integer; begin writeln('zapolnite matricy'); for i:=1 to 10 do read(a[ i ]); for i:=1 to 10 do write(a[ i ]); for i:=1 to 10 do begin if a[ i ]>a[i+1] then a[ i ]:=p; p:=a[i+1]; a[i+1]:=a[ i ]; end; for i:=1 to 10 do write(a[ i ]); readln; end. тут у меня выводит заданый же масив и все.назад в программу нельзя вернуться. (Сообщение отредактировал KMA 19 апр. 2008 23:02)
|
Всего сообщений: 6 | Присоединился: апрель 2008 | Отправлено: 17 апр. 2008 21:03 | IP
|
|
Serega1992
Новичок
|
RICHPERS Последовательность Фибоначчи: var n,x,x1,x2,i:longint; begin writeln('Введите искомый член последовательности:'); readln(n); x:=1; x1:=1; x2:=1; for i:=3 to n do begin x:=x1+x2; x1:=x2; x2:=x; end; writeln(x); readln; end.
|
Всего сообщений: 50 | Присоединился: апрель 2008 | Отправлено: 17 апр. 2008 22:12 | IP
|
|
westside
Новичок
|
Помогите пожалуста...Сам немогу составить..Надо сложить 3 задачи в одну программу,так чтоб пользователь сам выбрал что он хочет решить.Вот коды задачь. 1.Задача uses crt; var n : longint; function arif(nn : longint) : longint; begin if (nn=0) or (nn=1) then arif :=1 else arif :=arif(nn-1)+2; end; begin clrscr; writeln('vedite n->'); readln(n); writeln('A(',n,')=',arif(n)); readln; end. 2.Задача. uses crt; var n : longint; k : integer; function koren(i : longint) : integer; var s : integer; begin s :=0; repeat s :=s+ n mod 10; n :=n div 10 until n=0; koren :=s end; begin clrscr; writeln('vedite cheloe chislo->'); readln(n); while n>9 do n :=koren(n); writeln('chyfrovoj korenj vvedennovo chisla =', n); readln; end. 3.Задача. uses crt; var a1,a2,a3,a4,x,y : integer; function maximum(a,b : integer) : integer; begin if a>b then maximum :=a else maximum :=b end; begin clrscr; writeln('vedite chetyre chelyx chisla'); readln(a1,a2,a3,a4); writeln('maksimalnoe iz nih',maximum(maximum(a1,a2),maximum(a3,a4)) ); readln; end. Помогите,позарез нузно.Заранее Большое спасибо.
|
Всего сообщений: 2 | Присоединился: апрель 2008 | Отправлено: 18 апр. 2008 1:27 | IP
|
|
|