0 / 0 / 0
Регистрация: 20.12.2017
Сообщений: 15
1

Удалить из текста все слова нечетной длины

20.12.2017, 10:59. Показов 2302. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста с задачей
1.Задан текст между словами пробел. Удалить из него все слова нечетной длины
2. Логической переменной b присвоить значение 0, если между символами a и z нет иных символов кроме строчных латинский букв и значение 1 в противном случае.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2017, 10:59
Ответы с готовыми решениями:

Удалить из строки символов все слова нечетной длины
Помогите написать на языке С++, желательно простым языком, чтобы преподавательница не придралась

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

Распечатать все слова нечетной длины, начинающиеся и оканчивающиеся на букву Т
Дана строка символов. Группу символов, разделенную с одной или с обеих сторон одним или несколькими...

Удалить из строки все слова нечетной длины
в общем столкнулся с проблемой при решении задач по строкам и хоть убейся не могу её решить. задача...

2
837 / 640 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
20.12.2017, 12:38 2
Лучший ответ Сообщение было отмечено Lindsey как решение

Решение

Цитата Сообщение от Lindsey Посмотреть сообщение
1.Задан текст между словами пробел. Удалить из него все слова нечетной длины
C++
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
#include <iostream>
#include <string>
#define is_space(c) ((c) == ' ' || (c) == '\t' || (c) == '\n')
char* remove_len_odd_1(char* s);
std::string& remove_len_odd_2(std::string& s);
 
int main(void){
    char s[] = "COBOL PERL APL JAVA FORTH ADA PL/I PHP FORTRAN";
    std::cout << remove_len_odd_1(s) << std::endl;
 
    std::string s1 = "DB2 MSSQL Oracle Sybase FireBird2 InterBase MySQL PostgreSQL";
    std::cout << remove_len_odd_2(s1) << std::endl;
    std::cin.get();
    return 0;
}
 
//1-ый вариант в стиле Си
char* remove_len_odd_1(char* s){
    char* p, *i, *t = s;
    for(p = s; *s; *s = *p){
        if(!is_space(*p)){
            i = p + 1;
            while(*i && !is_space(*i))
                ++i;
 
            if((i - p) & 1)
                p = i;
            else {
                while(p != i)
                    *s++ = *p++;
            }
        } else
            ++s, ++p;
    }
    return t;
}
 
//2-ой вариант
std::string& remove_len_odd_2(std::string& s){
    std::string::size_type j, k, i, n = s.length();
    for(i = j = 0; i < n; ){
        if(!is_space(s[i])){
            k = i + 1;
            while((k < n) && !is_space(s[k]))
                ++k;
 
            if((k - i) & 1)
                i = k;
            else {
                while(i < k)
                    s[j++] = s[i++];
            }
        } else
            s[j++] = s[i++];
    }
 
    if(j < n)
        s.erase(j, n);
    return s;
}
0
779 / 587 / 316
Регистрация: 24.02.2017
Сообщений: 2,075
20.12.2017, 13:02 3
C++
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
#include <iostream>
 
using namespace std;
 
string f_del(string str)
   {
     char *p,t[1024];
 
     strcpy(t,str.c_str());
     str="";
     p = strtok(t, " ");
     if(strlen(p)%2==0)
          {
            str+=p;
            str+=32;
          }
     do {
          p = strtok('\0', " ");
          if(p)
            {
 
              if(strlen(p)%2==0)
               {
                  str+=p;
                  str+=32;
               }
             }
      } while(p);
 
      return str;
    }
 
int main()
{
  string s="COBOL PERL APL JAVA FORTH ADA PL/I PHP FORTRAN";
  
  s= f_del(s);
  cout<<s ;
  system("pause");
  return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2017, 13:02
Помогаю со студенческими работами здесь

Удалить из строки все слова нечетной длины
Задание такое: Дана строка символов. Удалить из нее все слова нечетной длины. Слова отделяются друг...

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

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

Удалить из строки слова нечетной длины
Дана строка символов. Удалить из нее все слова нечетной длины. Слова отделяются друг от друга одним...


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

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

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