10 / 10 / 1
Регистрация: 07.06.2010
Сообщений: 124
1

Удаление группы букв вида abcd

14.06.2010, 23:27. Показов 2998. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Задача звучит следующим образом: Даны натуральные число n, символы S1,...,Sn. Удалить из данной последовательности все группы букв вида abcd, используя Паскаль.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2010, 23:27
Ответы с готовыми решениями:

В строке символов удалить из строки все группы букв вида abcd
Написать подпрограмму , которая в строке символов удалить из строки все группы букв вида abcd. Еще...

Удалить из последовательности все группы букв вида abcd
даны натуральное число n, символы s1..sn. Удалить из последовательности все группы букв вида abcd

Удалить из строки все группы букв вида abcd
дана строка символов. Удалить из нее все группы букв вида abcd

Даны натуральное число n, символы S1,.....,Sn. Удалить из данной последовательности все группы букв вида abcd.
Даны натуральное число n, символы S1,.....,Sn. Удалить из данной последовательности все группы букв...

13
334 / 181 / 68
Регистрация: 18.03.2010
Сообщений: 586
Записей в блоге: 11
14.06.2010, 23:41 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
var
  s:string;
  n:integer;
begin
  readln(n);
  readln(s);
  while pos('z'+s,'abcd')<>0 do
      delete(s,pos(s,'abcd'),4);
  writeln(s);
  readln;
end.
не проверял, если будут ошибки, пишите

Добавлено через 44 секунды
хотя похоже я её не верно решил, щря написал даже
0
10 / 10 / 1
Регистрация: 07.06.2010
Сообщений: 124
14.06.2010, 23:50  [ТС] 3
Программа запускается, но увы работает неправильно..
0
334 / 181 / 68
Регистрация: 18.03.2010
Сообщений: 586
Записей в блоге: 11
15.06.2010, 00:18 4
не ну можно как бы сделать и так
Pascal
1
2
3
4
5
6
7
8
9
var
  s:string;
begin
  readln(s);
  while pos('abcd',s)<>0 do
      delete(s,pos('abcd',s),4);
  writeln(s);
  readln;
end.
все работает, Но скорее всего придется переделывать, и писать еще много кода
0
10 / 10 / 1
Регистрация: 07.06.2010
Сообщений: 124
15.06.2010, 00:44  [ТС] 5
Спасибо! разобрался =)
0
334 / 181 / 68
Регистрация: 18.03.2010
Сообщений: 586
Записей в блоге: 11
15.06.2010, 08:14 6
Linnard, этого мало, она должна не таким образом работать...
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
15.06.2010, 08:20 7
Даны натуральные число n, символы S1,...,Sn.
Pascal
1
2
var n:integer;
     s:array[1..1000] of char;
это на массивы задача и pоs, delete здесь не рулят.
1
334 / 181 / 68
Регистрация: 18.03.2010
Сообщений: 586
Записей в блоге: 11
15.06.2010, 17:11 8
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var
  s:array[1..1000] of char;
  n,i,g,j:integer;
begin
  readln(n);
  g:=0;
  for i:=1 to n do
    readln(s[i]);
  for i:=1 to n-4 do
    if s[i]+s[i+1]+s[i+2]+s[i+3]='abcd' then
      begin
        g:=g+4;
        for j:=i to n do
          s[j]:=s[j+4];
      end;
  for i:=1 to n-g do
    write(s[i]);
  writeln;
  readln;
end.
вроде бы так, но я снова не проверил.
1
0 / 0 / 0
Регистрация: 29.10.2010
Сообщений: 12
12.11.2010, 13:42 9
Вы не могли бы решить эту задачу только на С++
0
334 / 181 / 68
Регистрация: 18.03.2010
Сообщений: 586
Записей в блоге: 11
13.11.2010, 13:53 10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main(){
    int n;
    char s[100];
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>s[i];
    for(int i=0;i<n-4;i++)
        if((s[i]=='a')&&(s[i+1]=='b')&&(s[i+2]=='c')&&(s[i+3]=='d')){
            for(int j=i;j<n-4;j++)
                s[j]=s[j+4];
            n-=4;
        }
    for(int i=0;i<n;i++)
        cout<<s[i];
    cout<<"\n";
    return 0;
}
Добавлено через 56 секунд
Только это ведь раздел "Паскаль" как-никак.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
13.11.2010, 13:59 11
koorya, Это понятно что Паскаль и есть тип string, но любят преподы поиздеваться с символьными массивами, типа строка только 255 символов, а массив можно и 10000 сделать...
0
334 / 181 / 68
Регистрация: 18.03.2010
Сообщений: 586
Записей в блоге: 11
13.11.2010, 14:15 12
Да не, я не к тому, я к тому, что на си++ попросили написать то же самое
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
13.11.2010, 14:17 13
Прошу прощения, не заметил...
0
0 / 0 / 0
Регистрация: 29.10.2010
Сообщений: 12
14.11.2010, 18:05 14
Спасибо!

Добавлено через 2 минуты
Да вот только в разлделе С++ никто не отвечает (((
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2010, 18:05
Помогаю со студенческими работами здесь

Удалить из строки все группы вида abcd
Дана строка символов. Удалить из строки все группы вида abcd

Удалить из данной последовательности все группы букв вида a b c d
Даны натуральное число n, символы S1...Sn. Удалить из данной последовательности все группы букв...

Удалить из данной строки все группы букв вида asdf
Дана строка символов. Удалить из данной строки все группы букв вида asdf. Причем строку задавать с...

Удалить из данной последовательности символов все группы букв вида или
Дана строка s, содержащая менее чем 256 символов. Удалить из данной последовательности символов все...

Из заданной строки получить новую заменив в ней все группы букв ""abcd" на "abc".
Из заданной строки получить новую заменив в ней все группы букв &quot;&quot;abcd&quot; на &quot;abc&quot;.

Удалить из строки все группы букв вида abcd
Дана строка символов. Удалить из нее все группы букв вида abcd. Начинал делать поиск символов...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru