Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
sanek15
1 / 1 / 0
Регистрация: 10.10.2011
Сообщений: 89
1

Удалить из слова буквы, стоящие на четных местах

04.12.2011, 23:05. Просмотров 1220. Ответов 10
Метки нет (Все метки)

как удалить из слова буквы,стоящие на четных местах??заранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2011, 23:05
Ответы с готовыми решениями:

Вычеркните из слова все буквы "я", стоящие на четных местах
Вычеркните из слова все буквы "я", стоящие на четных местах.

Выяснить, все ли буквы слова Х, стоящие на нечетных местах, различны
Задание 2 Выяснить, все ли буквы слова Х, стоящие на нечетных местах, различны.

Из удалить из массива отрицательные элементы, стоящие на четных местах и сжать его, заполнив нулями.
Из одномерного массива,состоящего из n целочисленных элементов, удалить...

Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) ...

Сортировка массива: отдельно элементы, стоящие на четных местах и элементы, стоящие на нечетных местах
здравствуйте! задание: В одномерном массиве, состоящем из п целых элементов....

10
Kidasov
77 / 77 / 34
Регистрация: 02.12.2011
Сообщений: 965
Записей в блоге: 3
04.12.2011, 23:57 2
C++
1
2
3
4
for (int i=0; i<strlen(mas); i++)
{
   if(mas[i] != ' ' && i%2 == 0 )  mas[i] = ' ';
}
0
AncinetHero
49 / 49 / 12
Регистрация: 22.05.2011
Сообщений: 326
05.12.2011, 00:01 3
К предыдущему посту, я думаю нужно сделать так:
C++
1
mas[i] = '';
(пробел лишний)
0
Dekio
Фрилансер
Эксперт С++
5838 / 1219 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
05.12.2011, 00:01 4
Kidasov, заменить пробелом не значит удалить
0
PointsEqual
ниначмуроФ
840 / 524 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
05.12.2011, 00:11 5
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
#include <iostream>
#include <algorithm>
 
 
using namespace std;
 
class RR
{
    public:
        bool operator()(char element)
        {
            ++cnt;
            return (cnt & 1) ? false : true;
        }
 
    private:
        static int cnt;
};
 
int RR::cnt = -1;
 
 
 
int main()
{
 
    string s = "123456789";
 
    s.erase(remove_if(s.begin(), s.end(), RR()), s.end());
 
    cout << s;
 
    return 0;
}
0
Kidasov
77 / 77 / 34
Регистрация: 02.12.2011
Сообщений: 965
Записей в блоге: 3
05.12.2011, 00:20 6
Тогда можно просто сместить элементы

C++
1
2
3
4
5
6
7
8
9
10
N = strlen(mas);
for(i=1; i<N; i++)
 {
  if(mass[i] != ' ' && i%2 == 0)
   {
      for(j=i; j<N-1; j++)
        mass[j] = mass[j+1];
      N--; i--;
   }
 }
0
PointsEqual
ниначмуроФ
840 / 524 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
05.12.2011, 00:24 7
Цитата Сообщение от Kidasov Посмотреть сообщение
можно просто сместить
а надо
Цитата Сообщение от sanek15 Посмотреть сообщение
удалить из слова
0
Kidasov
77 / 77 / 34
Регистрация: 02.12.2011
Сообщений: 965
Записей в блоге: 3
05.12.2011, 00:27 8
Тогда только STL
0
sanek15
1 / 1 / 0
Регистрация: 10.10.2011
Сообщений: 89
05.12.2011, 10:44  [ТС] 9
а можно как нибудь попроще написать программу..
0
ForEveR
В астрале
Эксперт С++
7996 / 4755 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
05.12.2011, 10:46 10
sanek15, аха.

C++
1
2
int cnt = 0;
str.erase(std::remove_if(str.begin(), str.end(), [&cnt] (const char val) { return !(cnt++ % 2); }), str.end());
0
Kidasov
77 / 77 / 34
Регистрация: 02.12.2011
Сообщений: 965
Записей в блоге: 3
05.12.2011, 17:58 11
Можно создать список


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
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
105
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
 
struct Node {
  char s;
  Node *next;
};
 
class List {
public:
  Node *head;
  List() { head = new Node; head -> next = NULL; }
  void addFirst(char s);
  void insertAfter(Node *nextNode, char s);
  void addLast(char s);
  Node *findNode(char s);
  void deleteSymbol(char s);
  void show();
};
 
void List :: addFirst(char s)
{
  insertAfter(head, s);
}
 
void List :: insertAfter(Node *nextNode, char s)
{
  Node *buf = new Node;
  buf -> s = s;
  buf -> next = nextNode -> next;
  nextNode -> next = buf;
}
 
void List :: addLast(char s)
{
  Node *buf = head;
  while (buf -> next)
  {
    buf = buf -> next;
  }
  insertAfter(buf, s);
}
 
Node *List :: findNode(char s)
{
  Node *buf = head;
  while (buf)
  {
    if (buf -> s == s) { cout<<"Element is found\n"; break; } 
    buf = buf -> next;
  }
cout<<"Введите символ, который хотете удалить\n";
  cin>>sign;  return buf;
}
 
void List :: deleteSymbol(char key)
{
  Node *buf = head;
  if (!buf) { cout<<"List is empty\n"; return; }
  while (buf -> next)
  {
    if (buf -> next -> s == key)
    {
      cout<<"Element "<<key<<" is erased\n";
      buf -> next = buf -> next -> next;
    }
    else buf = buf -> next;
  }      
}
 
void List :: show()
{
  Node *buf = head;
  while (buf)
  {
    cout<<buf->s;
    buf = buf -> next;
  }
  cout<<"\n";
}
 
int main()
{ 
  char s[100], sign;
  List myList;
  cout<<"Введите массив\n";
  gets(s);
  cout<<"Исходный массив\n";
  for (int i=0; i<strlen(s); i++)
  {
    myList.addLast(s[i]);
  }
  myList.show();
  for (int i=0; i<strlen(s); i++)
  {
    if (!i%2)
    {
      myList.deleteSymbol(sign);
    }
  }
  myList.show();
  return 0;
}
0
05.12.2011, 17:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2011, 17:58

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

Массивы: поменять местами соседние элементы, стоящие на четных местах, с элементами ,стоящими на нечетных местах
В заданном одномерном массиве поменять местами соседние элементы ,стоящие на...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru