Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 3
Регистрация: 15.12.2017
Сообщений: 134

Строковый тип

18.12.2017, 09:55. Показов 1260. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, помогите создать программу, используя массивы строк.

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

Добавлено через 1 час 44 минуты
Ребят, скиньте хотя бы пример на это. Я буду и этому благодарна
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.12.2017, 09:55
Ответы с готовыми решениями:

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

Строковый тип
помогите изменить программу по этому заданию 4) begin var (s1,s2,s3):=(ReadlnString,ReadlnString,ReadlnString); var s4:=s1+'...

Строковый тип
Написать программу для ввода букв латинского алфавита. Если введенный символ не является буквой латинского алфавита заменить его на знак...

2
1 / 1 / 3
Регистрация: 15.12.2017
Сообщений: 134
19.12.2017, 14:30  [ТС]
Лучший ответ Сообщение было отмечено Lololoshk как решение

Решение

В чем здесь может быть ошибка?

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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
var
  MasStr: array[1..30] of string[10];
  ks, k, i, j, number_of_words: byte;
  s: string[255];
  l, t, z, sl, sp, buf, o: string;
  a: integer;
 
 
begin
  writeln('Введите последовательность от 2 до 30 слов размером от 2 до 10 символов и закончите ее точкой');
  readln(s);
  
  if s[length(s)] <> '.' then 
  begin
    writeln('Отсутствует точка. Введите строку заново.');
    writeln('Введите последовательность от 2 до 30 слов размером от 2 до 10 символов и закончите ее точкой');
    readln(s);
    if s[length(s)] = '.' then 
      delete(s, length(s), 1);
  end
  else delete(s, length(s), 1);
  
  k := pos('  ', s);
  while k <> 0 do
  begin
    delete(s, k, 1);
    k := pos('  ', s);
  end;
  if s[1] = ' ' then delete(s, 1, 1);
  k := length(s);
  if s[k] = ' ' then delete(s, k, 1);
  writeln('Результат:');
  if length(s) <> 0 then writeln(s);
  
  ks := 0;
  if s[length(s)] <> ' ' then 
    s := s + ' ' + ' ';
  writeln('Общее количество символов: ', length(s) - 2);
  writeln('Список слов');
  writeln('----------------');
  for i := 1 to length(s) do 
  begin
    while s <> ' ' do
    begin
      number_of_words := number_of_words + 1;
      ks := ks + 1;
      k := pos(' ', s);
      MasStr[ks] := copy(s, 1, k);
      delete(s, 1, k);
      write(ks:2, ' ', '|', ' ', MasStr[ks]:10, '|');
      writeln;
      writeln('----------------');
    end;
  end;
  writeln('Общее количество слов: ', number_of_words);
  
  if (number_of_words < 2) or (number_of_words > 30) then
  begin
    for i := 1 to number_of_words do 
    begin
      writeln('Введено неверное количество слов. Требуется перезапуск программы');
      readln;
    end;
  end;
  
  for i := 1 to number_of_words do 
  begin
    if (length(MasStr[i]) - 1 < 2) then
    begin
      writeln('Не подходит по количеству символов слово под номером: ', i);
      writeln('Введено неверное количество символов. Требуется перезапуск программы');
      readln;
    end;
  end;
  
  for i := 1 to number_of_words - 1 do 
  begin
    if masstr[i] = masstr[number_of_words] then begin
      writeln('Слово под номером: ', i, ' похоже на последнее');
      writeln('Одно из слов похоже на последнее. Требуется перезапуск программы');
      readln;
    end;
  end;
  
  l:=copy(MasStr[1], 1, 1);
  for i := 1 to number_of_words do 
  begin
    delete(MasStr[i], pos(l, MasStr[i]), 1);
    s := MasStr[i] + ' ';
  end;
  
  delete(s, length(s), 1);
  writeln('Результат: ', s, '.');
end.
Добавлено через 20 часов 46 минут
Я чуть-чуть подредактировала код, но в 94 строке программа не может преобразовать тип string[10] к char. Как это можно исправить?

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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
var
  MasStr: array[1..30] of string[10];
  ks, k, i, j, number_of_words: byte;
  s: string[255];
  l, t, z, sl, sp, buf, o: string;
  d, x: string[10];
  a: integer;
 
 
begin
  writeln('Введите последовательность от 2 до 30 слов размером от 2 до 10 символов и закончите ее точкой');
  readln(s);
  
  if s[length(s)] <> '.' then 
  begin
    writeln('Отсутствует точка. Введите строку заново.');
    writeln('Введите последовательность от 2 до 30 слов размером от 2 до 10 символов и закончите ее точкой');
    readln(s);
    if s[length(s)] = '.' then 
      delete(s, length(s), 1);
  end
  else delete(s, length(s), 1);
  
  k := pos('  ', s);
  while k <> 0 do
  begin
    delete(s, k, 1);
    k := pos('  ', s);
  end;
  if s[1] = ' ' then delete(s, 1, 1);
  k := length(s);
  if s[k] = ' ' then delete(s, k, 1);
  writeln('Результат:');
  if length(s) <> 0 then writeln(s);
  
  ks := 0;
  if s[length(s)] <> ' ' then 
    s := s + ' ' + ' ';
  writeln('Общее количество символов: ', length(s) - 2);
  l:=copy(s, 1, 1);
  for i := 1 to length(s) do 
  begin
    delete(s, pos(l, s), 1);
  end;
  writeln('Список слов');
  writeln('----------------');
  for i := 1 to length(s) do 
  begin
    while s <> ' ' do
    begin
      number_of_words := number_of_words + 1;
      ks := ks + 1;
      k := pos(' ', s);
      MasStr[ks] := copy(s, 1, k);
      delete(s, 1, k);
      write(ks:2, ' ', '|', ' ', MasStr[ks]:10, '|');
      writeln;
      writeln('----------------');
    end;
  end;
  writeln('Общее количество слов: ', number_of_words);
  
  if (number_of_words < 2) or (number_of_words > 30) then
  begin
    for i := 1 to number_of_words do 
    begin
      writeln('Введено неверное количество слов. Требуется перезапуск программы');
      readln;
    end;
  end;
  
  for i := 1 to number_of_words do 
  begin
    if (length(MasStr[i]) - 1 < 2) then
    begin
      writeln('Не подходит по количеству символов слово под номером: ', i);
      writeln('Введено неверное количество символов. Требуется перезапуск программы');
      readln;
    end;
  end;
  
  for i := 1 to number_of_words - 1 do 
  begin
    if masstr[i] = masstr[number_of_words] then begin
      writeln('Слово под номером: ', i, ' похоже на последнее');
      writeln('Одно из слов похоже на последнее. Требуется перезапуск программы');
      readln;
    end;
  end;
  
  d:=l;
  while i<=1 do 
  begin
  x[i]:=masstr[i];
  d:=d+x[i];
  end;
  
  for i := 2 to number_of_words do 
  begin
  x[i]:=masstr[i];
    d:=d+' '+x;
  end;
  writeln('Результат: ', d, '.');
end.
Добавлено через 1 час 42 минуты
У кого-нибудь есть идеи?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.12.2017, 14:30
Помогаю со студенческими работами здесь

Задача строковый тип
Дана текстовая строка и алфавит, закодировать строку А, путем замены каждого символа строки на новый символ взятый в алфавите на k-позиции...

Задача на Строковый тип
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами - не менее...

Символьный и строковый тип данных
Выяснить, имеется ли в тексте длины не более 255 знаков прямая речь (проверить наличие кавычек)

Какой функцией можно преобразовать тип byte в тип string и наоборот?
Вот моя проблема, у меня конченое действие будет выводить число в 10 С.С и в типе byte, а мне надо ее еще перевести в 2 С.С , но при...

Строковый тип.
задача: Ввести рядок,який містить 12 слів, що є назвами місяців року. Відсортувати ці слова за алфавітом... то тіпа з допомогою...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru