Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2008, 16:51   #1
BR@BUS
Пользователь
 
Аватар для BR@BUS
 
Регистрация: 14.01.2008
Сообщений: 14
По умолчанию Строки и файлы

Здравствуйте. У меня такая проблема,нет возможности подобраться к компу, так что пишу с мобилы . Нужна помощ с решением 2-х задач:

1) Дана строка s, содержащая менее чем 200 символов. Определить, сколько раз в данной строке до первой точки встречается комбинация символов ая. Использовать стандартные процедуры и функции в действиях над строками.

2) Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл f , содержащий информацию о багаже нескольких пассажиров, информация о багаже каждого отдельного пассажира представляет собой соответствующую пару чисел *) .
Определить, имеются ли 2 пассажира, багаж которых совпадает по числу вещей и различаются по весу не более чем на 0.5 кг.

Есть маленькие ньансы ко 2-й задаче:во-первых - отдельный приложения для создания и считывания файла, и во-вторых - не использовать массивы и цикл for

И вот еще одна прозьба, проверить работает ли прога:
var
st:string[200];
i:integer;
est:boolean;
begin
edit1.text:=st;
est:=false;
for i:=1 to length(st) do
if st[i]='.'then begin
est:=true;
break;
end;
if pos ('ая',st) <>0
then begin i:=i+1;
memo1.lines.Append('est')
end
else
memo1.lines.Append('net');
end;
end.

Заранее спасибо за понимание

Последний раз редактировалось BR@BUS; 08.04.2008 в 17:05.
BR@BUS вне форума Ответить с цитированием
Старый 08.04.2008, 21:26   #2
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от BR@BUS Посмотреть сообщение
Здравствуйте. У меня такая проблема,нет возможности подобраться к компу, так что пишу с мобилы . Нужна помощ с решением 2-х задач:

1) Дана строка s, содержащая менее чем 200 символов. Определить, сколько раз в данной строке до первой точки встречается комбинация символов ая. Использовать стандартные процедуры и функции в действиях над строками.

2) Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл f , содержащий информацию о багаже нескольких пассажиров, информация о багаже каждого отдельного пассажира представляет собой соответствующую пару чисел *) .
Определить, имеются ли 2 пассажира, багаж которых совпадает по числу вещей и различаются по весу не более чем на 0.5 кг.

Есть маленькие ньансы ко 2-й задаче:во-первых - отдельный приложения для создания и считывания файла, и во-вторых - не использовать массивы и цикл for

И вот еще одна прозьба, проверить работает ли прога:
var
st:string[200];
i:integer;
est:boolean;
begin
edit1.text:=st;
est:=false;
for i:=1 to length(st) do
if st[i]='.'then begin
est:=true;
break;
end;
if pos ('ая',st) <>0
then begin i:=i+1;
memo1.lines.Append('est')
end
else
memo1.lines.Append('net');
end;
end.

Заранее спасибо за понимание


Прога компилируеться но постояно собщает net даже если встречаеться 'ая'
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 08.04.2008, 22:57   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
И вот еще одна прозьба, проверить работает ли прога:
var
st:string[200];
i:integer;
est:boolean;
begin
edit1.text:=st;
перепутаны местами, надо наоборот:
st := edit1.text;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.04.2008, 23:12   #4
BR@BUS
Пользователь
 
Аватар для BR@BUS
 
Регистрация: 14.01.2008
Сообщений: 14
По умолчанию

Спасибо. НАрод а насчет задачек, мб кто-нить поможет? Плз оч надо
BR@BUS вне форума Ответить с цитированием
Старый 08.04.2008, 23:35   #5
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

1
Код:
Fucntion GetAYa(s:string):Byte;
var 
  ss:string;
begin
  result:=0;
  ss:=s;
  if Pos('.', ss)>0 then
    ss:=Copy(ss, 1,Pos('.', ss)-1);
  While Pos('ая', ss)>0 do
  begin
    Inc(Result);
    Delete(ss,Pos('ая', ss), 2);
  end
end;
2. Решать лень, но вот как я предоставляю решение:
-Считываем данные из файла
-Сортируем массив по количеству вещей
-Пускаем по массиву цикл, который проверяет i-ую и i+1 записи на равентво количества вещей и на отличие масс на неболее чем 0,5кг.
Помог? Ну так нажми на весы!

Последний раз редактировалось SNUPY; 08.04.2008 в 23:41.
SNUPY вне форума Ответить с цитированием
Старый 08.04.2008, 23:54   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
1) Дана строка s, содержащая менее чем 200 символов. Определить, сколько раз в данной строке до первой точки встречается комбинация символов ая. Использовать стандартные процедуры и функции в действиях над строками.
не проблема. Лови:
Код:
var 
  st, stemp : string[200];
  i, Count_AJ   : integer;

begin
  WriteLn('Введите строку:');
  Readln(st);
  if Pos('.',st)=0 then begin
    Writeln('Точки нет - значит и считать нечего! Ответ - НОЛЬ раз.')
  end
  else begin
    Count_AJ := 0;
    {возьмём подстроку от начала строки и до первой точки}
    stemp := Copy(st, 1, Pos('.',st)-1); 
    while Pos('ая', stemp)>0 do begin
      Inc(Count_AJ);
      {копируем остаток строки от найденного 'ая' 
         до конца оставшейся строки 
         200 - это с запасом, больше чем есть, всё 
                               равно не скопируется}  
      stemp := Copy(stemp,Pos('ая', stemp)+2,200); 
    end;
    WriteLn(' сочетание ''ая'' встретилось ',Count_AJ:1,' раз.');
  end;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27
Массивы символов (строки) символьные файлы. anarchist Помощь студентам 2 24.12.2007 09:16
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. vitalik007 Помощь студентам 1 25.09.2007 20:45
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53