Форум программистов, компьютерный форум CyberForum.ru

Удалить из данной последовательности все буквы abcd - C++

Восстановить пароль Регистрация
 
Vavan_monster
1 / 1 / 0
Регистрация: 25.12.2010
Сообщений: 15
13.07.2011, 12:10     Удалить из данной последовательности все буквы abcd #1
Даны натуральное число n , символы s1.....sn . Удалить из данной последовательности все буквы abcd.

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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
int main()
{
  char *t;
  char a,b,c,d;
  int n,i;
  cout<<"vvedite chislo elementov";
  cin>>n;
  
  t=(char *) malloc (n*sizeof(char));
  for(i=0;i<n;i++)
  {
cout<<"vvedite elementy"<<i+1;
  cin>>a;
  t[i]=a;
}
for(i=0;i<n;i++)
{
if (t[i]!='a')
if(t[i]!='b')
if(t[i]!='c')
if(t[i]!='d')
cout<<t[i];}
free((void*)t);
  getch();
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2011, 12:10     Удалить из данной последовательности все буквы abcd
Посмотрите здесь:

Удалит из данной последовательности все группы букв вида abcd C++
C++ Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы.
В данной строке удалить все пробелы. C++
C++ Выведите все строчные гласные латинские буквы, встречающиеся в данной строке ровно один раз.
Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
marina2
Рожденная для битвы
 Аватар для marina2
268 / 48 / 4
Регистрация: 08.11.2009
Сообщений: 1,016
13.07.2011, 12:16     Удалить из данной последовательности все буквы abcd #2
C++
1
if ((t[i]!='a')||(t[i]!='b')||(t[i]!='c')||(t[i]!='d')
Вот так надо писать
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
13.07.2011, 12:18     Удалить из данной последовательности все буквы abcd #3
Цитата Сообщение от Vavan_monster Посмотреть сообщение
Даны натуральное число n , символы s1.....sn . Удалить из данной последовательности все буквы abcd.
Ну и?..

Цитата Сообщение от marina2 Посмотреть сообщение
Вот так надо писать
Неа, так:
C
1
2
if(!strchr("abcd", t[i]))
   /* ... */
Vavan_monster
1 / 1 / 0
Регистрация: 25.12.2010
Сообщений: 15
13.07.2011, 12:20  [ТС]     Удалить из данной последовательности все буквы abcd #4
спасибо конечно, приму к сведению, просто я такто недавно программирую))))))
marina2
Рожденная для битвы
 Аватар для marina2
268 / 48 / 4
Регистрация: 08.11.2009
Сообщений: 1,016
13.07.2011, 12:21     Удалить из данной последовательности все буквы abcd #5
А я просто исправила синтаксис в алгоритме Vavan_monster
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
13.07.2011, 12:25     Удалить из данной последовательности все буквы abcd #6
marina2, только в твоем варианте выведутся вообще все буквы, т.к. условие всегда выполняется вне зависимости от того, какой символ проверяется
Vavan_monster
1 / 1 / 0
Регистрация: 25.12.2010
Сообщений: 15
13.07.2011, 12:27  [ТС]     Удалить из данной последовательности все буквы abcd #7
ну а мой код правильный?????
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
13.07.2011, 12:30     Удалить из данной последовательности все буквы abcd #8
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#define ABCD "abcd"
 
int main()
{
    char *s = NULL;
    char ch = 0;
    size_t cnt = 0;
 
    printf("Enter a sequence: ");
    while (ch != '\n') {
        ch = getc(stdin);
        if ((s = (char *) realloc(s, ++cnt * sizeof(char))) == NULL) {
            fputs("Can't allocate memory\n", stderr);
            exit(1);
        }
        s[cnt - 1] = ch;
    }
 
    for (size_t i = 0; i < cnt; ++i) {
        if (strchr(ABCD, s[i]) != NULL) {
            --cnt;
            for (size_t j = i; j < cnt; ++j)
                s[j] = s[j + 1];
            --i;
        }
    }
    s[cnt - 1] = '\0';
    
    printf("Result: %s\n", s);
    free(s);
    exit(0);
}
marina2
Рожденная для битвы
 Аватар для marina2
268 / 48 / 4
Регистрация: 08.11.2009
Сообщений: 1,016
13.07.2011, 13:07     Удалить из данной последовательности все буквы abcd #9
Цитата Сообщение от Nameless One Посмотреть сообщение
marina2, только в твоем варианте выведутся вообще все буквы, т.к. условие всегда выполняется вне зависимости от того, какой символ проверяется
Точно!
C++
1
2
3
 
if ((t[i]!='a')&&(t[i]!='b')&&(t[i]!='c')&&(t[i]!='d')
cout<<t[i];
Вот так надо
Vavan_monster, прости....
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2011, 13:50     Удалить из данной последовательности все буквы abcd
Еще ссылки по теме:

C++ Строки. В каждом чётном по порядку слове удалить все нечётные буквы, а в каждом нечётном слове удалить все чётные буквы.
Все слова строки, которые начинаются с данной буквы, отсортировать в алфавитном порядке C++
В предложении удалить слова, начинающиеся с данной буквы C++

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

Или воспользуйтесь поиском по форуму:
Vavan_monster
1 / 1 / 0
Регистрация: 25.12.2010
Сообщений: 15
13.07.2011, 13:50  [ТС]     Удалить из данной последовательности все буквы abcd #10
да ладно, что уж там я ваще ламмер)))))
Yandex
Объявления
13.07.2011, 13:50     Удалить из данной последовательности все буквы abcd
Ответ Создать тему
Опции темы

Текущее время: 18:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru