Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 08.12.2009, 18:17   #1 (permalink)
Sergei47
Member
 
Аватар для Sergei47
 
Регистрация: 05.10.2009
Сообщений: 21
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Post Обработка строк и символов

язык Паскаль
1.Дана строка, слова в которой разделены хотя бы одним пробелом. Найти первое и последние вхождение (номер позиции в строке символа " * " Если такого символа нет вообще, выдать сообщение)

2.Приняв способ изображения рационального числа в виде записи с двумя полями.
числ, знам: integer;
Написать программу, позволяющая во первых, определить есть ли среди 50 рациональных чисел равные и во-вторых, вычислить наибольшее из данных рациональных чисел (числа не обязательно имеют несократимую форму).
Sergei47 вне форума   Ответить с цитированием

Старый 08.12.2009, 18:17
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Пока вам отвечают в тему, советую ознакомиться с аналогичными топиками

Автоматическа нумерация строк
Обработка строк,массивов,записей

Старый 08.12.2009, 22:11   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Sergei47 Посмотреть сообщение
язык Паскаль
1.Дана строка, слова в которой разделены хотя бы одним пробелом. Найти первое и последние вхождение (номер позиции в строке символа " * " Если такого символа нет вообще, выдать сообщение)
Не понял, при чем тут разделение слов пробелами, но как-то так:
Код:
VAR
 S:STRING;
 i,Imin,Imax:INTEGER;
 b:BOOLEAN;
BEGIN
 WriteLn('Enter the string:');
 ReadLn(S);
 i:=0;
 Imin:=0;
 Imax:=0;
 b:=FALSE;
 REPEAT
   INC(i);
   IF (S[i]='*') AND (b=FALSE) THEN
    BEGIN
      Imin:=i;
      b:=TRUE;
    END;
   IF (S[i]='*') AND (i>Imin) AND b THEN
    Imax:=i;
 UNTIL i=Length(S);
 IF (Imin>0) AND (Imax>0) THEN
  WriteLn('The first "*" position is ',Imin,'; the last "*" position is ',Imax) 
 ELSE
 IF (Imin>0) AND (Imax=0) THEN
  WriteLn('The only "*" position is ',Imin) 
 ELSE
  WriteLn('There is no "*" in the string');
 ReadLn;
END.
Цитата:
2.Приняв способ изображения рационального числа в виде записи с двумя полями.
числ, знам: integer;
Написать программу, позволяющая во первых, определить есть ли среди 50 рациональных чисел равные и во-вторых, вычислить наибольшее из данных рациональных чисел (числа не обязательно имеют несократимую форму).
Код:
TYPE
 Rat=RECORD
      Nom:BYTE;
      Denom:BYTE;
     END;
VAR
 Num:ARRAY[1..50] of RAT;
 i,j,Imax:INTEGER;
 MAX:REAL;
BEGIN
 Randomize;
 FOR i:=1 TO 50 DO
  WITH Num[i] DO
   BEGIN
    Nom:=Random(30);
    Denom:=Random(29)+1;
   END;

 MAX:=-1.0;
 FOR i:=1 TO 50 DO
  WITH Num[i] DO
   IF Nom/Denom>MAX THEN
    BEGIN
     MAX:=Nom/Denom;
     Imax:=i;
    END;

 FOR i:=0 TO 4 DO
  BEGIN
   FOR j:=1 TO 10 DO
    Write(Num[10*i+j].Nom:2,'/',Num[10*i+j].Denom:2,'  ');
   Writeln;
  END;
 WriteLn('The largest value is ',Num[Imax].Nom:2,'/',Num[Imax].Denom:2);

 FOR i:=1 TO 50 DO
  FOR j:=i+1 TO 50 DO
   IF ROUND(Num[i].Nom/Num[i].Denom*1000000)=
      ROUND(Num[j].Nom/Num[j].Denom*1000000) THEN
    WriteLn('Number ',i,' is equal to number ',j);

 ReadLn;
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 09.12.2009, 08:45   #3 (permalink)
Sergei47
Member
 
Аватар для Sergei47
 
Регистрация: 05.10.2009
Сообщений: 21
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо большое..
Sergei47 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 19:11.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.