Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
254 / 21 / 5
Регистрация: 30.10.2008
Сообщений: 68

Вывести слово данной строки, предшествующее первому из слов, содержащих букву 'a'

08.12.2008, 18:21. Показов 1487. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача: вывести слово данной строки, предшествующее первому из слов, содержащих букву 'a'

уже 3ий день не получается, не знаю что делать, у меня или бесконечный цикл получается или программа ничего не делает =)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.12.2008, 18:21
Ответы с готовыми решениями:

Найти слово, предшествующее первому вхождению w в s1 (Составить блок-схему)
Даны две строки s1 и s2. Пусть w – первое из слов строки s1, которое есть и в строке s2. Найти слово, предшествующее первому вхождению w в...

Код не правильно работает (вывести значение предшествующее первому введенному максимальному(признак конца ввода - 0)
#include <stdio.h> #include <stdlib.h> #include <locale.h> #include <math.h> int main() { setlocale(LC_ALL, "Rus"); int...

Сформировать строку из слов исходной строки, содержащих заданную букву (dll-библиотека) - Assembler
Разработать dll-библиотеку на языке ассемблера с функциями обработки строк. Сформировать строку из слов исходной строки, содержащих...

4
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
08.12.2008, 18:36
ну покажи свое творчество
0
254 / 21 / 5
Регистрация: 30.10.2008
Сообщений: 68
08.12.2008, 19:34  [ТС]
ну вот одна из моих бредовых идей, только не смейтесь

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
program str;
uses crt;
var s,s1,s2:string;
    i,l,a,n:byte;
    f:boolean;
begin
writeln('input string');
readln(s);
l:=length(s);
a:=0;
n:=0;
i:=1;
while s[i]=' ' do
  inc(i);
while a=0 do
  begin
    s1:='';
    while (s[i]<>' ') and (i<=l) do
      begin
        s1:=s1+s[i];
        if (s[i]='a') and (n>0) then inc(a);
        inc(i);
      end;
    s2:=s1;
    i:=i+2;
    inc(n);
  end;
write(s2);
end.
не выходит из цикла while a=0, не могу понять почему
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
09.12.2008, 10:37
в паскале не силен, может не все варианты учел, проверь, потом скажешь, что там у меня ч творчеством
Code
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
program str;
uses crt;
var s,s1,s2:string;
    i,l,a,n:byte;
    f:boolean;
begin
writeln('input string');
readln(s);
l:=length(s);
i:=2;
if(s[1] = 'a') then writeln('Empty') else begin
while i < l do
  begin
    if(s[i] = 'a') and (s[i - 1] = ' ') and (i <> 2) then
      break
    else
     inc(i);
  end;
a:=i - 2;
if(i <> l) then begin
  while a <> 0 do
    begin
      if (s[a] = ' ') then
        break
      else
       s1:= s[a] + s1;
      dec(a);
    end;
  writeln(s1);
end
else writeln ('Empty');
end;
readkey;
end.
0
254 / 21 / 5
Регистрация: 30.10.2008
Сообщений: 68
09.12.2008, 16:34  [ТС]
так, разобрался сам, вчера много думал, не мог уснуть и тд. и вот что придумал:

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
program str;
uses crt;
var s,s1,s2:string;
    i,l,n:byte;
    a,f:boolean;
 
procedure read_word(s:string; var s1:string; var i:byte); {процедура считывает из строки s слово начиная с позиции i, и сохраняет его в строку s1}
  var l:byte;
  begin
    l:=length(s);
    s1:='';
    while (s[i]<>' ') and (i<=l) do
      begin
        s1:=s1+s[i];
        inc(i);
      end;
  end;
 
procedure skip_spaces(s:string; var i:byte); {процедура пропускает пробелы и устанавливает указатель i на следующую после последнего пробела позицию}
  begin
    while s[i]=' ' do
      inc(i);
  end;
 
function search_char(s1:string):boolean; {функция ищет в слове букву 'a'}
  var i,l:byte;
  begin
    search_char:=false;
    l:=length(s1);
    for i:=1 to l do
        if s1[i]='a' then search_char:=true;
  end;
 
begin
writeln('input string');
readln(s);
l:=length(s);
i:=1;
a:=false;
n:=0;
s1:=''; s2:='';
skip_spaces(s,i); 
if i>l then {если в строке одни пробелы, то завершение программы}
   write('err')
else
  begin
    while (i<=l) and (a=false) do
      begin
        skip_spaces(s,i);
        read_word(s,s1,i);
        inc(n); {счетчик слов}
        f:=search_char(s1);
        if (n>=2) and (f=true) then
          begin
            a:=true;
            write(s2);
          end;
        s2:=s1;
        s1:='';
        inc(i);
      end;
  end;
end.
может пригодится кому...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.12.2008, 16:34
Помогаю со студенческими работами здесь

Из второй строки вывести слово, содержащее хотя бы одну гласную букву из заданного слова первой строки
Даны две строки s1 и s2. Для слова w строки s1 вывести слово строки s2, которая содержит хотя бы одну гласную букву слова w.

Найти в предложении количество слов, начинающихся на ту же букву что и второе слово и вывести их на экран
Язык С++

При выводе выдаёт иеролифы. задача заключается в том, чтобы пользователь вводит слово и нужно вывести первую букву, всё слово и последнюю букву. TASM
.model small .stack 200h .data sInput db 13,10, &quot;Vvedite ctroky : &quot;, '$' s1stCh ...

Строки: вывести определенную букву или слово и их количество
Помогите написать программу, которая из символьной последовательности выводит определенную букву или слово и их количество. У меня...

Определить число, предшествующее первому из введенных максимальных значений
С клавиатуры вводятся целые числа. Признак конца ввода – ноль. Определить число, предшествующее первому из введенных максимальных значений....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru