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

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

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

Восстановить пароль

Купить рекламу на форуме - 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