С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 4
1

Дана строка символов ( 2-3 строки ) в файле F1, состоящая из слов , отделенных друг от друга пробелами

24.04.2017, 19:26. Показов 2529. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана строка символов ( 2-3 строки ) в файле F1, состоящая из слов , отделенных друг от друга пробелами.
Составить функцию , удаляющую из строки слово с номером М ( М вводить в диалоге и включить в список параметров функции).Новую строку записать в файл F1 после исходной.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2017, 19:26
Ответы с готовыми решениями:

Строка, состоящая из слов и чисел (целых и вещественных), отделенных друг от друга пробелами
С клавиатуры вводится строка, состоящая из слов и чисел (целых и вещественных), отделенных друг от...

Дана строка, состоящая из слов, отделенных друг от друга одним или несколькими разделителями
Дана строка, состоящая из слов, отделенных друг от друга одним или несколькими разделителями...

Дана строка текста, состоящая из слов. Слова отделяются друг от друга одним из специальных символов, которые описываются во множестве [‘-’, ‘*’, ‘/
Дана строка текста, состоящая из слов. Слова отделяются друг от друга одним из специальных...

Дана строка символов ( 2-3 строки ) в файле F1, состоящая из слов
Дана строка символов ( 2-3 строки ) в файле F1, состоящая из слов , отделенных друг от друга...

7
Эксперт Pascal/Delphi
6811 / 4568 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
27.04.2017, 18:51 2
Удалить 3 слово строки
0
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
30.04.2017, 13:22 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
var
   i, m, index_begin, index_end, tmp: integer;
   s: string;
   f, f1: boolean;
 
begin
   reset(input, 'c:\\input.txt');
   rewrite(output, 'c:\\output.txt');
   readln(s);
   read(m);
   s := s + ' ';
   
   tmp := 0;f := true;f1 := false;
   for i := 1 to length(s) do
   begin
      
      if(s[i] = ' ') then
      begin
         if(f1 = true) then 
         begin
         index_end := i - 1;
         break;
         end;
         f := true;
      end;
      
      if(s[i] <> ' ') then
      begin
         if(f) then 
         begin
            tmp := tmp + 1;
            f := false;
         end;
      end;
      
      if(tmp = m) then
      begin
         if(f1 = false) then index_begin := i;
         f1 := true;
      end;
      
   end;
   
   delete(s, index_begin, index_end);
   write(s);
end.
1
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 4
11.05.2017, 15:32  [ТС] 4
Добавлено через 3 часа 21 минуту
no swear, Program1.pas(10) : Ошибка времени выполнения: Входная строка имела неверный формат.

Как исправить?
0
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
12.05.2017, 20:16 5
Не понимаю в чём может быть причина у меня всё работает
1
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 4
12.05.2017, 21:16  [ТС] 6
no swear, В чём вообще может быть ошибка? Я просто не знаю как её исправить, уже много разной информации перечитал.

Добавлено через 19 минут
no swear, После того как я добавил цифры в текстовый файл, то ошибка пропала, но после запуска программы, в новом файле остаётся только первая строчка, а остальные удаляются. Также в диалоге не могу прописать m. Программа сразу завершена.
0
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
12.05.2017, 23:36 7
Я функцией delete неправильно пользовался. Моя вина Вот исправленный код:
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
var
   i, m, index_begin, index_end, tmp: integer;
   s: string;
   f, f1: boolean;
 
begin
   reset(input, 'c:\\input.txt');
   rewrite(output, 'c:\\output.txt');
   readln(s);
   read(m);
   s := s + ' ';
   
   tmp := 0;f := true;f1 := false;
   index_end := 0;
   for i := 1 to length(s) do
   begin
      
      if(s[i] = ' ') then
      begin
         if(f1) then break;
         f := true;
      end;
      
      if(s[i] <> ' ') then
      begin
         if(f) then 
         begin
            tmp := tmp + 1;
            f := false;
         end;
         
         if(tmp = m) then
         begin
            if(f1 = false) then index_begin := i;
            f1 := true;
            inc(index_end);
         end;
      end;
      
   end;
   
   delete(s, index_begin, index_end + 1);
   write(s);
end.
Сделаю замечание по поводу моего кода: Мой код читает только первую строку как string а на второй задаётся m. Я не могу сделать так чтобы читались несколько строк подряд, это уже вопрос к экспертам по Паскалю.
Миниатюры
Дана строка символов ( 2-3 строки ) в файле F1,  состоящая из слов , отделенных друг от друга пробелами   Дана строка символов ( 2-3 строки ) в файле F1,  состоящая из слов , отделенных друг от друга пробелами  
1
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 4
13.05.2017, 19:32  [ТС] 8
no swear, Спасибо большое, достаточно долгое время не мог понять, как делать эту задачку
0
13.05.2017, 19:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2017, 19:32
Помогаю со студенческими работами здесь

В строке s записана некоторая последовательность слов, отделенных друг от друга пробелами
В строке s записана некоторая последовательность слов, отделенных друг от друга пробелами. Поменять...

Дана строка состоящая из слов, разделенных пробелами. Составить строку состоящую из первых символов слов
В Delphi

Дана строка, состоящая из слов, разделенных пробелами, в конце строки - точка
Дана строка, состоящая из слов, разделенных пробелами, в конце строки - точка. Определить, сколько...

Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные числа этой строки
Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные числа этой строки...


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

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