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

Распечатать слова из первой строки, если они имеются во второй, найти сумму цифровых слов

02.04.2014, 18:13. Показов 1409. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сначала набираем текст в строку а затем
ввести строку В. Распечатать слова из первой строки, если они имеются во второй, найти сумму цифровых слов.
Pascal
1
2
3
4
5
6
7
8
9
PROGRAM Prim3;
Var
T1,T:string;
 
BEGIN
Writeln ('ââåäèòå òåêñò');
Readln (T);
Writeln ('ââåäèòå òåêñò 2');
readln (T1);
осилил только это, помогите
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.04.2014, 18:13
Ответы с готовыми решениями:

Среди слов первой строки найти самое короткое, которое не встречается во второй строке
Здравствуйте! Задача такая: Среди слов первой строки найти самое короткое, которое не встречается во второй строке. Поиск минимального...

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

Среди цифр введенной строки распечатать ту, которая появлялась чаще других. Если таких цифр было несколько, распечатать ту, что встречалась первой
Среди цифр введенной строки распечатать ту, которая появлялась чаще других. Если таких цифр было несколько, распечатать ту, что...

5
89 / 78 / 62
Регистрация: 06.03.2014
Сообщений: 230
02.04.2014, 20:18
я вас не совсем понял, но вот, что то сделал
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Var T1,T2,buf:string;
i,j:integer;
 
BEGIN
  Writeln ('введите текст');
  Readln (T1);
  Writeln ('введите текст 2');
  readln (T2);
  i:=1;
  while (i<=length(T1)) do
  begin
    j:=1;
    while ((i<=length(T1))and(T1[i]<>' ')) do
    begin
      Insert (T1[i], buf, j);
      j:=j+1;
      i:=i+1;
    end;   
    if (Pos(buf,T2)<>0) then writeln(buf);
    Delete (buf, 1, length(buf));
    i:=i+1;
  end;
END.
Цитата Сообщение от novich_38 Посмотреть сообщение
найти сумму цифровых слов.
тут совсем не понял, это не сделал

Добавлено через 11 минут
вообще работает не совсем правильно
если будет введено например
T1: текст
T2: этекстэ
то выведет "текст"
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 24
03.04.2014, 09:29  [ТС]
Не совсем понял как рабоает.
Опишите как работает алгоритм.
i<=length(T1) что значит?
и откуда берётся buf?
0
89 / 78 / 62
Регистрация: 06.03.2014
Сообщений: 230
03.04.2014, 10:24
Цитата Сообщение от novich_38 Посмотреть сообщение
length(T1)
это длина строки

проходим поэлементно всю строку
Цитата Сообщение от aex Посмотреть сообщение
while (i<=length(T1))
выбираем из неё слова, записываем в buf
Цитата Сообщение от aex Посмотреть сообщение
Insert (T1[i], buf, j);
я брал слово , если слева и справа пробелы или конец строки
Цитата Сообщение от aex Посмотреть сообщение
Pos(buf,T2)<>0
функция Pos (subs, s) ищет вхождение подстроки subs в строку s и возвращает номер первого символа subs в s или нуль, если subs не содержится в s
1
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 24
03.04.2014, 10:38  [ТС]
aex, а для чего мы задаем i j ?
0
89 / 78 / 62
Регистрация: 06.03.2014
Сообщений: 230
03.04.2014, 11:07
Лучший ответ Сообщение было отмечено novich_38 как решение

Решение

вот, немного переделал, теперь вроде правильно работает
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
Var T1,T2,buf,buf1:string;
i,j,k:integer;
 
BEGIN
  Writeln ('введите текст');
  Readln (T1);
  Writeln ('введите текст 2');
  readln (T2);
  i:=1;
  while (i<=length(T1)) do
  begin
    j:=1;
    while ((i<=length(T1))and(T1[i]<>' ')) do
    begin
      Insert (T1[i], buf, j);
      j:=j+1;
      i:=i+1;
    end; 
      
    j:=1;
    while (j<=length(T2)) do
    begin
      k:=1;
      while ((j<=length(T2))and(T2[j]<>' ')) do
      begin
        Insert (T2[j], buf1, k);
        j:=j+1;
        k:=k+1;
      end;       
      if (buf1=buf) then writeln(buf);
      Delete (buf1, 1, length(buf1));
      j:=j+1;
    end;
    Delete (buf, 1, length(buf));
    i:=i+1;
  end;
END.
возможно можно сделать проще

Добавлено через 1 минуту
novich_38, i - это номер текущего символа в строке T1,
j - это номер текущего символа в buf, чтоб правильно записывать слова в buf
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.04.2014, 11:07
Помогаю со студенческими работами здесь

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

Найти сумму элементов первой строки матрицы и произведение элементов второй строки
люди добрые! помогите, пожалуйста, с задачей, что то туплю дико Найти сумму элементов первой строки матрицы и произведение элементов...

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

Из двух строк сделать одну, в которой нечетные слова из первой строки, а четные слова - из второй
как из 2 введенных строк сделать одну, в которой нечетные слова из 1 строки, а четные слова из второй? С помощью стандартных функций на си....

Добавить в конец первой строки, последние n2-n1 слов второй строки
помогите пожалуйста! Даны две строки. Пусть n1 - число слов в первой строке, а n2 - во второй (n1&lt;n2). Добавить в конец первой строки,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru