Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
-25 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 14
1

написать програму void(char source[] ,char dest[]) которая скопирует все символы из source[] ,которые не принадлежат алфавиту , в dest[].

19.10.2011, 07:39. Показов 1211. Ответов 3
Метки нет (Все метки)

написать програму void(char source[] ,char dest[]) которая скопирует все символы из source[] ,которые не принадлежат алфавиту , в dest[].выводить только символы из dest[]
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2011, 07:39
Ответы с готовыми решениями:

Функция приписывает строку src к строке dest
Помогите справится с задачей Разработайте программу, функция main() которой содержит вызов...

Различное поведение функции которая копирует строки с char* t и char t[]
столкнулся с ситуацией которую не могу объяснить пишем функцию которая копирует одну строку в...

To ensure optimal source control integration with Microsoft Visual Studio, check with your source control provider for compatibility and update information
Всем привет. помогите плиз! Пишу прогу на компе в студии 2008 используя asp.net и ado.net . Всё...

Все символы char
Здравствуйте ,в char мы можем использовать числа например из таблицы ASCII например в (DEC) 97 это...

3
Заблокирован
Автор FAQ
19.10.2011, 09:36 2
Akimzhan, вот код на Си, нужно будет С++ переделать труда для меня не составит
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 <string.h>//strlen
#include <ctype.h>//isalpha
#include <stdio.h>//printf scanf
 
//Копиует в dest буквы из source,
//все остальные символы пропускаются
void getAlphas(char source[], char dest[]);
 
int main()
{
    char ch;//Символ служит условием продолжения или окончания 
    //do while
    char str[1025] = {0};//Думаю 1024 символов с лихвой хватит
    char dst[1025] = {0};//Сюда копировать буквы из str будем
    do
    {
        printf("\tEnter input string\n");
        //В str введенная строка (можно с пробелами)
        scanf("%[^\n]%c",str,&ch);//В ch \n от ввода можно этого не делать
        printf("\tAlphas in str :\n");
        getAlphas(str, dst);
        printf("%s\n",dst);
        printf("Enter 1 for new input\n");
        scanf("%c",&ch);
    }
    while(ch == '1');
    return 0;
}
 
void getAlphas(char source[], char dest[])
{
    long i,k,sLen = strlen(source);
    for(i = 0,k = 0; i < sLen; i++)
    {
        if(isalpha(source[i]))
        {
            dest[k] = source[i];
            k = k + 1;
        }
    }
}
Миниатюры
написать програму void(char source[] ,char dest[]) которая скопирует все символы из source[] ,которые не принадлежат алфавиту , в dest[].  
0
Эксперт С++
5820 / 3472 / 357
Регистрация: 08.02.2010
Сообщений: 7,448
19.10.2011, 09:50 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
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
 
void copy_alphabetical(const char* src, char* dest)
{
    for(; *src != '\0'; ++src)
    if(isalpha(*src))
        *dest++ = *src;
}
 
int main(int argc, char* argv[])
{
    char buffer[BUFSIZ];
    size_t i;
    
    for(i = 1; i < argc; ++i)
    {
    copy_alphabetical(argv[i], buffer);
    puts(buffer);
    }
    
    exit(0);
}
0
Заблокирован
Автор FAQ
19.10.2011, 12:49 4
Akimzhan, программу можно сделать и короче + избавиться от пары хедеров и заменив
стандартную функцию
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
isalpha
проверки символа принадлежности буквам, условием
C++
1
2
if('a' <= source[0] && source[0] <= 'z' ||
           'A' <= source[0] && source[0] <= 'Z')
- для наглядности расписал source[0] и пределы 'a' и 'Z' в идеале всё ещё короче может быть, только вот понимание происходящего может потеряется, вобщем вот новый прототип
C
1
2
3
4
5
6
7
8
9
10
11
void getAlphas(char source[], char dest[])
{
    long sLen = 0;
    while(*source != NULL)
    {
        if('a' <= source[0] && source[0] <= 'z' ||
           'A' <= source[0] && source[0] <= 'Z') 
           *dest++ = *source;
        *source++;
    }
}
хедер всего один
C
1
#include <stdio.h>//printf scanf
, тело main без изменений
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2011, 12:49

Удалить из строки s1,…,sn все символы, которые принадлежат строке a1,…,an
Даны натуральное число n и группы символов s1,…,sn и a1,…,an. Удалить из строки s1,…,sn все...

Error C1083: Cannot open source file: 'Source.cpp': No such file or directory
Помогите плз!!!!! неделю сражаюсь с VS 2013 и не могу даже запустить простейшую &quot;hello&quot; (((...

Проблема с char**. Все элементы char** после выполнения функции приобретают одно и то же значение
Суть такая: сначала найти в введенной строке подстроку &quot;\ &quot; (например, &quot;mkdir my\ dir&quot;), и зменить...

Cannot convert 'void (_fastcall * (_closure )(TObject *,char &))(TObject *,char &)' to 'TKeyPressEvent'
доброго времени суток. роект был создан в builder 2007, а при попытке его скомпилировать на rad...

Ошибка "Could not find source location to add method <...> "END." or INITIALIZATION not found in unit source"
Помогите пожалуйста какого значение ошибки Could not find source location to add method...

Char unsigned char signed char длинна Кааак
Здравствуйте. char l = {0,0}; l = 0xff; Почему, меня, компилятор не посылает куда...


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

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

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