Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.07.2015
Сообщений: 7
1

Определить, содержит текст заданную строку длинной не более 255 из символов 0 и 1

16.02.2009, 19:00. Показов 1639. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста в написании программы:
Текст разбит на строки длиной не более 255 символов. Текст содержит только 0 и 1, последовательность которых рассматривается как сплошная. Определить, содержит ли текст заданную отдельную строку длинной не более 255 из символов 0 и 1.
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2009, 19:00
Ответы с готовыми решениями:

Написать программу, продлевающюю текст строки длинной не более чем на n символов, причем слова текста разрывать нельзя
Написать программу, продливающюю текст строки длинной не более чем на n символов, причем слова...

Зашифровать текст(не более 255 символов),записываю все слова наоборот
Зашифровать текст(не более 255 символов),записываю все слова наоборот.Считать,что слова в тексте...

Как ввести в строку более 255 символов?
Всем привет))помогите пожалуйста. Как ввести в строку более 255 символов?Мне сказали использовать...

Проверить заданную строку длиной не более 255 символов на соблюдение правила
Задание: В русском языке, как правило, после букв Ж, Ч, Ш, Щ пишется И, А, У, а не Ы, Я, Ю....

4
Эксперт С++
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
18.02.2009, 16:06 2
А от куда берутся данные? Из текстового, бинарного файла или они являются постоянными? Конкретезируйте задание, пожалуйста.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
18.02.2009, 16:47 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
uses crt;
var m:array[1..100] of string;
    s:string;
    n,i,k,j:byte;
begin
clrscr;
write('Vvedite kolichestvo strok n=');
readln(n);
for i:=1 to n do  {создаем массив строк}
  repeat
    write('Stroka ',i,': ');
    readln(m[i]);
    k:=0;
    for j:=1 to length(m[i]) do {проверяем правильность ввода строки}
    if not (m[i][j] in ['0','1']) then k:=k+1;
    if k>0 then writeln('Neverno vvedena stroka! Povtorite vvod.');
  until k=0;
write('Vvedite stroku dlya poiska:');
readln(s);
k:=0;
for i:=1 to n do
if m[i]=s then {ищем заданную строку в массиве}
  begin
   write('Takaya stroka est!');{если нашли, сообщаем}
   readln; {читаем}
   k:=1; {фиксируем находку}
   exit;{выходим}
  end;
if k=0 then write('Takoj stroki net!');{если не нашли, сообщаем}
readln
end.
0
Эксперт С++
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
18.02.2009, 21:09 4
У автора написано, что последовательность рассматривается, как сплошная, т.е. если у нас есть текст такого вида
Код
0010110100011110
011110111110
1111111111111100001101101111011
0010
111111111111110000110110111101111111111111110000110
110111101111111111111110000110110111101111111111111110000110110111101
а искомая строка находится на стыке первой и второй строки, т.е. например "11110011110", то данная программа должна и ее отыскать. К тому же, т.к. автор так и не появился (не конкретизировал откуда берутся данные), то я сделал для текстового файла:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
uses CRT;
var iskomaya, str : string;
    f             : Text;
    ch            : Char;
    str_len       : integer;
    Naidena       : boolean;
 
 
function SearchForString (search_in : string; search_for: string) : Boolean;
var ret : Boolean;
    sf_len, si_len, i, q : integer;
 
begin
  ret := False;
 
  sf_len := length(search_for);
  si_len := length(search_in);
 
  for i:=1 to si_len - sf_len do
  begin
 
    if search_in[i] = search_for[1] then
      for q:=1 to sf_len do
        if (search_in[i+q] = search_for[q]) and (q=sf_len) then ret := true;
 
    if (ret=True) and (q=sf_len) then break;
  end;
 
  SearchForString := ret;
end;
 
begin
  ClrScr;
 
  Write('Vvedite iskomuyju stroky : ');
  ReadLn(iskomaya);
 
  {открываем файл data.txt в текущей папке}
  Assign(f, 'data.txt');
  Reset(f);
 
  {читаем}
 
  Naidena := False;
 
  while not eof(f) do
  begin
 
    str_len := 0;
    str     := '';
 
    while (not eof(f)) and (str_len<256) do
    begin
      Read(f, ch);
      if (ch='0') or (ch='1') then
      begin
        str := str + ch;
        Inc(str_len);
      end;
    end; {while (not eof(f)) and (str_len<256)}
 
    Naidena := SearchForString(str, iskomaya);
 
    if Naidena=True then break;
 
  end; {while not eof(f)}
 
  Close(f); {закрываем файл}
 
  WriteLn;
 
  if Naidena=True then
    WriteLn('Stroka "',iskomaya,'" soderjitsya v dannom tekste!')
  else
    WriteLn('Stroka "',iskomaya,'" NE soderjitsya v dannom tekste!');
 
  WriteLn;
 
  Write('Press any key for continue...');ReadLn;
end.
Читаем из файла по символьно, если встречается символ отличный от '0' или '1', то игнор его. Записывается все это добро в строку, а потом, когда вся строка заполнена (или прочтены все символы из файла), то производим поиск в строке с помощью функции SearchForString(). Результат её работы TRUE - если найдена искомая строка, в остальных случаях - FALSE.

Открыт для общения, благодарностей, жалоб и предложений Пишите, не стесняйтесь!

А да, обозначенные выше исходные данные нужно сохранить в текстовый файл под именем data.txt в каталог с компилируемой программой.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
18.02.2009, 21:11 5
Признаю свою ошибку, был невнимателен.
0
18.02.2009, 21:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2009, 21:11
Помогаю со студенческими работами здесь

Текст, состоящий не более чем из 255 символов, разбить на строки длиной не более 50 символов в строке
Текст, состоящий не более чем из 255 символов, разбейте на строки длиной не более 50 символов в...

Дан текст не более 255 символов. Составить словарь уникальных слов
Здравствуйте! Помогите пожалуйста с заданием. Если можно, то с объяснениями. Спасибо! Дан текст...

Дан текст не более 255 символов. Составить словарь уникальных слов
Добрый вечер! Прошу помочь с заданием, очень нужно. Дан текст не более 255 символов. Слова...

Ввести строку длинной не более 200 символов, вывести на экран последнее слово
Задача: Ввести строку длинной не более 200 символов, вывести на экран последнее слово.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru