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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2009, 01:46   #1
дайкири
Пользователь
 
Аватар для дайкири
 
Регистрация: 08.01.2009
Сообщений: 10
По умолчанию помогите пожалуйста,не могу сделать.срочняк!

Даны три номерных знака автомашин.Найти номерной знак,содержащий буквы "МОН",и вывести его на печать.Если такого знака среди заданных нет,то напечатать соответствующее сообщение
дайкири вне форума Ответить с цитированием
Старый 10.01.2009, 02:12   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Один из вариантов (если буквы MOH стоят рядом):
Код:
uses crt;
const N = 3;
var
ss : array[1..N] of string;
i,k : integer;
yn : boolean;
begin
clrscr;
yn := false;
for i:=1 to N do
 begin
 writeln('Vvedite nomer ',i);
 readln(ss[i]);
 end;
writeln('---------');
k := 0;
for i:=1 to N do
 begin
 k := pos('MOH',ss[i]);
 if k <> 0 then begin
                writeln(ss[i]);
                if not yn then yn := true;
                end;
 end;
if not yn then writeln('Nomer ne najden');
readln;
end.
Пожалуйста, в следующий раз читайте правила перед созданием темы.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 10.01.2009 в 02:34. Причина: чуть подправил
Sazary вне форума Ответить с цитированием
Старый 10.01.2009, 02:23   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Другой вариант. Это если буквы расположены не рядом.
Длина каждого номера - 6 символов (можно изменить). Вообще тоже через стринги можно сделать.
Код:
uses crt;
const NN = 3;MM=6;
var
ss : array[1..NN,1..MM] of char;
i,j : integer;
m,o,h,yn : boolean;
begin
clrscr;
for i:=1 to NN do
 begin
 writeln('Vvedite nomer ',i);
 readln(ss[i]);
 end;
writeln('--------');
yn := false;
for i:=1 to NN do
 begin
 m := false;
 h := false;
 o := false;
 for j:=1 to MM do
  begin
   if ss[i,j] = 'M' then m := true;
   if ss[i,j] = 'O' then o := true;
   if ss[i,j] = 'H' then h := true;
  end;
  if m and h and o then
   begin
   writeln(ss[i]);
   if not yn then yn := true;
   end;
 end;
if not yn then writeln('Nomer ne najden');
readln;
end.
upd И еще один вариант со стрингами (буквы стоят не рядом):
Код:
uses crt;
const NN = 3;
var
ss : array[1..NN] of string;
i,j : integer;
m,o,h : integer;
yn : boolean;
begin
clrscr;
m := 0;
o := 0;
h := 0;
yn := false;
for i:=1 to NN do
 begin
 writeln('Vvedite nomer ',i);
 readln(ss[i]);
 end;
writeln('-----');
for i:=1 to NN do
 begin
 m := pos('M',ss[i]);
 h := pos('H',ss[i]);
 o := pos('O',ss[i]);
 if (m<>0) and (o<>0) and (h<>0) then
  begin
  writeln(ss[i]);
  if not yn then yn := true;
  end;
 end;
if not yn then writeln('Nomer ne najden');
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 10.01.2009 в 02:36.
Sazary вне форума Ответить с цитированием
Старый 10.01.2009, 12:32   #4
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию

uses crt;
var
s:array[1..3] of string;
i,n:integer;
f:boolean;
begin
clrscr;
for i:=1 to 3 do
readln(s[i]);
f:=false;
writeln;
for i:=1 to 3 do
begin
if (pos('M',s[i])<>0) and (pos('O',s[i])<>0) and (pos('H',s[i])<>0) then begin f:=true; n:=i; end;
end;
if f then writeln(s[n])
else writeln(' Dannogo znaka net ');
readln;
end.
@(o_0)@
Tkirill вне форума Ответить с цитированием
Старый 10.01.2009, 16:43   #5
дайкири
Пользователь
 
Аватар для дайкири
 
Регистрация: 08.01.2009
Сообщений: 10
По умолчанию

спасибо большое)
дайкири вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Народ,помогите пожалуйста.Объект и иерархию не могу сделать KirILLA90 Помощь студентам 1 18.12.2008 20:09
Не могу понять почему не идет сортировка файла, помогите пожалуйста Taisja Помощь студентам 2 15.06.2008 20:37
Не могу сделать выборку с нужными полями, помогите чайнику! kadet.rus Microsoft Office Access 2 26.04.2008 14:12
Помогите пожалуйста не могу понять! Kosoy135 Паскаль, Turbo Pascal, PascalABC.NET 7 28.12.2007 19:08