Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Строки(Pascal).

41K
14 октября 2008 года
Rassvet
10 / / 14.10.2008
Ребят памагите решить задачку
Выделить две группы самых длинных слов вывести их на печать
забыл... это паскаль
366
15 октября 2008 года
int
668 / / 30.03.2005
что понимать под группой слов и откуда их нужно выделить?
247
15 октября 2008 года
wanja
1.2K / / 03.02.2003
Что такое "две группы самых длинных слов"?
41K
15 октября 2008 года
Rassvet
10 / / 14.10.2008
есле б я понял... ну как я думаю нужно просто подсчитать самые длинные слова( например 5 букв) это 1вая группа и (4 буквы ) это 2я группа слов и вывести их на экран... но я хз.. препод нехера не объяснил....
366
16 октября 2008 года
int
668 / / 30.03.2005
откуда берутся слова?
320
16 октября 2008 года
m_Valery
1.0K / / 08.01.2007
Цитата: Rassvet
Ребят памагите решить задачку
Выделить две группы самых длинных слов вывести их на печать
забыл... это паскаль



Я удалю тему, а тебе нарушение дам.Что за задача ? Где условие ? Дано... Сделать и найти ... Где это ? Уточни у своего препода или скажи ему ,что он дебил.

6
16 октября 2008 года
George
4.1K / / 05.01.2007
напоминает задание - пойди туда, не знаю куда, принеси то, не знаю что. Тут уж точно либо препод - балбес конкретный, либо автор что-то от нас утаивает (или не знает).
41K
16 октября 2008 года
Rassvet
10 / / 14.10.2008
сорри всем уточнил у препода... слова вводятся в массив ( тоесть просто вручную вводим) патом ищем мин и макс.. и патом выводим на экран МАКС и макс-1 ...
41K
16 октября 2008 года
Rassvet
10 / / 14.10.2008
помогите плиизззз (((:(:(:(:(
я начал писать программу ... вот код..
Код:
program p1;
var
 MS:array[1..128]of string;
 k,i,count:byte;
 st:string;
begin
 writeln(' vvedite text ');
 readln(st);
 i:=0 ;
 st:=st+' ';
while st=' 'do
 delete(st,1,1);
 for i:=1 to length(st)-1 do
 if (st=' ')and(st[i+1]=' ')then
 delete(st,i,1);
 while(pos(st,' ')<>0)and(length(st)>0)  do
 begin
 k:=pos(st,' ');
 inc(i);
 Ms:=copy(st,1,k-1);
 delete(st,1,k);
 end;

( тут вроде удаляет все лишние пробелы и переводит слова в массив(ищет самое длинное слово (оО)))
что дельше то? ,. (((
и сорри я незнаю как там правильно писать на форуме (((

[COLOR="Red"]Оформляй код по Правилам.[/COLOR]
366
17 октября 2008 года
int
668 / / 30.03.2005
Чё-то меня смущает этот код
 
Код:
i:=0;
while st=' 'do
 delete(st,1,1);
Если я всё правильно помню, то st[0] - длина строки, как она может быть равна пробелу? И если уж вдруг st[0] равно пробелу, то сколько раз выполнится твой цикл?
Код:
for i:=1 to length(st)-1 do
    if (st=' ')and(st[i+1]=' ')then
        delete(st,i,1);
   
    {Угадай, чему равно i в этом месте?}
while(pos(st,' ')<>0)and(length(st)>0) do
begin
    k:=pos(st,' ');
    inc(i);
    Ms:=copy(st,1,k-1);

    {ну и в какой же элемент массива происходит присваивание?}

 
Код:
for i:=1 to length(st)-1 do
    if (st=' ')and(st[i+1]=' ')then
        delete(st,i,1);
Я очень не уверен, что значение length(st) перевычисляется при каждом проходе цикла. Поэтому ты рискуешь выйти за пределы строки этим циклом. Лучше использовать что-нибудь типа while pos(st,' ') > 0
41K
18 октября 2008 года
Rassvet
10 / / 14.10.2008
Цитата:
program p1;
type
MSL=array[1..128]of string;
var
MS:MSL;
k,i,max,j:byte;
maxs,st:string;
begin
writeln(' vvedite text ');
readln(st);
st:=st+' ';
while st[1]=' 'do
delete(st,1,1);
i:=1; while i<length(st)-1 do
if (st=' ')and(st[i+1]=' ')then
delete(st,i,1);
while(length(st)>0) do
begin
k:=pos(st,' ');
inc(j);
Ms[j]:=copy(st,1,k-1);
delete(st,1,k);
end;
max:=length(st[1]) ;
for i:=1 to length(st) do
if length(st)>max then
max:=length (st);
maxs:= st;
writeln(maxs);
readln;
end.




вот что я намутил... но он чёт зацикливается (((

41K
19 октября 2008 года
Rassvet
10 / / 14.10.2008
ребят помогите плизз у меня модуль (( а я непойму ((((:confused::confused::(:(
366
20 октября 2008 года
int
668 / / 30.03.2005
 
Код:
while(length(st)>0) do
begin
  k:=pos(st,' ');
  inc(j);
  Ms[j]:=copy(st,1,k-1);
  delete(st,1,k);
end;
Может я и не прав, но когда в строке кончаются пробелы (остаётся одно последнее слово), то delete не срабатывает, а length(st) по-прежнему больше нуля
366
20 октября 2008 года
int
668 / / 30.03.2005
#Опять форум тупит
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог