Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 12

Найти слова в тексте начинающиеся на первую букву, введенной в поле ввода фамилии

04.11.2012, 00:34. Показов 2356. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача состоит в том, чтобы пользователь вбил в окно ввода свою фамилию, а программа определила на какую букву эта фамилия начинается, и вывела кол-во слов из текста, начинающихся на эту букву, и также сами слова.

Добавлено через 6 часов 45 минут
Помогите пожалуйста, ибо только учусь программированию, и задачки такого типа мне не по силам(
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.11.2012, 00:34
Ответы с готовыми решениями:

Найти в тексте и вывести на экран все слова начинающиеся на букву "д"
Ребят, помогите написать программу, пожалуйста. Задачка состоит в том, чтобы программа сумела просканировать весь текст, расположенный в...

В предложении найти слова, начинающиеся и заканчивающиеся на одну и ту же букву
В предложении найти слова, начинающиеся и заканчивающиеся на одну и ту же букву

В предложении найти слова, начинающиеся и заканчивающиеся на букву «а» и третья буква в которых «о»
Как решить задачу? В предложении найти слова, начинающиеся и заканчивающиеся на букву «а» и третья буква в которых «о».

4
Фрилансер
 Аватар для CodeR
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,603
Записей в блоге: 1
04.11.2012, 08:52
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Var s,s1,s2:String;
    k:byte;
Begin
    write('Введите свою фамилию: ');readln(s);
    write('Введите текст: ');readln(s1);
    s1:=s1+' ';
    While Pos(' ',s1)>0 do
    Begin
      s2:=Copy(s1,1,Pos(' ',s1)-1);
      Delete(s1,1,Pos(' ',s1));
      if s[1]=s2[1] then 
      Begin
        writeln(s2);
        inc(k);
      End;
    End;
    writeln('Слов начинающихся на букву ',s[1],' = ',k);
    readln;
End.
2
 Аватар для Paster Fob
296 / 274 / 194
Регистрация: 03.05.2012
Сообщений: 570
04.11.2012, 10:41
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
const
  sn=[' ',',','.',';',':','!','?'];
 
procedure countwords(var surname,arg:string;var count:integer);
var sl:string;i:integer;
begin
  sl:='';
  if not (arg[length(arg)] in sn) then
    arg:=arg+' ';
  for i:=1 to length(arg) do
    if not (arg[i] in sn) then
      sl:=sl+arg[i]
    else begin
      if sl[1]=surname[1] then begin
        inc(count);
        writeln(sl);
      end;
      sl:='';
    end;
end;
 
var
  surname,s:string;
  f:text;count:integer;
 
begin
  writeln('Введите вашу Фамилию');
  readln(surname);
  assign(f,'C:\textin.txt');
  reset(f);
  count:=0;
  while not eof(f) do begin
    readln(f,s);
    countwords(surname,s,count);
  end;
  close(f);
  writeln(count);
  readln;
end.
1
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 12
04.11.2012, 23:28  [ТС]
Слушай, а как сделать так, чтобы программа считывала также слова с большой буквы? Я тут покумекал, решил создать еще один дублекат процедуры countwords2, и путем замены первой буквы (Заглавной) на строчную (такую же), программа должна была засчитать это слово, как за еще одно, и добавить в список. Ну а если тебе лень в коде разбираться, можешь помочь с этим небольшим нюансом, пожалуйста.
Вот код
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
const
  sn=[' ',',','.',';',':','!','?'];
  
procedure countwords(var surname,arg:string;var count:integer);  // Процедура счета слов (программа вычисляет кол-во слов в тексте)
var sl:string;
    i:integer;
begin
  sl:=''; //пустая строчка
  if not (arg[length(arg)] in sn) then //если не знак препенания
    arg:=arg+' '; //добавить пробел?
  for i:=1 to length(arg) do //от первого до последнего символа слова
    if not (arg[i] in sn) then //если не знак препенания
      sl:=sl+arg[i] //собираем слово  ?
    else begin //появился знак препинания, слово закончилось
      if sl[1]=surname[1] then begin //если слово совпадает с первой буквой фамилии
        inc(count); // count+1
        writeln(sl);
      end;
      sl:=''; //обнуляем собранное слово
    end;
end;
 
procedure countwords2(var surname2,arg:string;var count2:integer);  // ЗАМЕНИТЬ  surname2! count2!
var sl:string;
    i:integer;
begin
  sl:=''; //пустая строчка
  if not (arg[length(arg)] in sn) then //если не знак припенания
    arg:=arg+' '; //добавить пробел?
  for i:=1 to length(arg) do //от первого до последнего символа слова
    if not (arg[i] in sn) then //если не знак припенания
      sl:=sl+arg[i] //собираем слово  ?
    else begin
      if sl[1]=surname2 then begin //ЗАМЕНИТЬ surname2!
        inc(count2);  //ЗАМЕНИТЬ count2!
        writeln(sl);
      end;
      sl:='';
    end;
end;
 
var
  s,surname2,surname:string;      // объявление переменных
 
  f:text;
  count,summ,count2:integer;
 
begin
 
  writeln('Введите вашу Фамилию'); // Ввод данных
  readln(surname);
  assign(f,'F:\in.txt'); // Открытие
  reset(f);
  count:=0;
  
  //Выполняем задачу программы для заглавной буквы
  while not eof(f) do begin
    readln(f,s);
    countwords(surname,s,count);
  end;
  
  surname[1]:=LowCase(surname[1]); //Заменяем первую букву аналогичной строчной
  surname2:=surname[1]; //создаю переменную для второй функции (строчная буква)
  
   //Выполняем задачу программы для строчной буквы
  while not eof(f) do begin
    readln(f,s);
    countwords2(surname2,s,count2);
  end;
 
  close(f);
  
  summ:=count+count2; //суммируем кол-во строчных и кол-во заглавных
  
  writeln('Количество слов =', ' ',summ);
   
end.
0
 Аватар для Paster Fob
296 / 274 / 194
Регистрация: 03.05.2012
Сообщений: 570
06.11.2012, 13:42
Цитата Сообщение от JusMD Посмотреть сообщение
Ну а если тебе лень в коде разбираться, можешь помочь с этим небольшим нюансом, пожалуйста.
Разбираться лень.
вот подправил немного,комменты если надо пиши сам.
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
const
  sn=[' ',',','.',';',':','!','?'];
 
function checkletter(var s1,s2:string):boolean;
begin
  checkletter:=false;
  if (s1[1]=s2[1]) or (s1[1]=upcase(s2[1])) or (s1[1]=lowcase(s2[1])) then
    checkletter:=true;
end;
 
procedure countwords(var surname,arg:string;var count:integer);
var sl:string;i:integer;
begin
  sl:='';
  if not (arg[length(arg)] in sn) then
    arg:=arg+' ';
  for i:=1 to length(arg) do
    if not (arg[i] in sn) then
      sl:=sl+arg[i]
    else begin
      if checkletter(surname,sl) then begin
        inc(count);
        writeln(sl);
      end;
      sl:='';
    end;
end;
 
var
  surname,s:string;
  f:text;count:integer;
 
begin
  writeln('Введите вашу Фамилию');
  readln(surname);
  assign(f,'C:\textin.txt');
  reset(f);
  count:=0;
  while not eof(f) do begin
    readln(f,s);
    countwords(surname,s,count);
  end;
  close(f);
  writeln(count);
end.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.11.2012, 13:42
Помогаю со студенческими работами здесь

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

Найти в тексте слова, начинающиеся на букву «л»
Уважаемые "тыжпрограммисты" и просто любители паскаля, нуждаюсь в помощи, ибо сам не в состоянии решить сие задание. (увы, не моя...

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

Найти в тексте слова, начинающиеся на букву «л»: с помощью множеств
Уважаемые "тыжпрограммисты" и просто любители паскаля, нуждаюсь в помощи, ибо сам не в состоянии решить сие задание. (увы, не моя...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru