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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Akimzhan
-25 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 14
#1

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

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

написать програму void(char source[] ,char dest[]) которая скопирует все символы из source[] ,которые не принадлежат алфавиту , в dest[].выводить только символы из dest[]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2011, 07:39     написать програму void(char source[] ,char dest[]) которая скопирует все символы из source[] ,которые не принадлежат алфавиту , в dest[].
Посмотрите здесь:

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

Void func(char *); - C++
Помогите пожалуйста.Не могу понять как она работает и что она может принимать(т.к. самой переменной нет) : void func(char *); ...

преобразование void в char - C++
помогите пожалуйста компилятор ругается и не хочет запускать прогу на исполнение(( невозможно преобразовать "void *" в "char *". Для...

Преобразование из «void*» в «char*» - C++
Имеется такая строка buffer = malloc(600); Перемменая buffer у меня указатель на буффер типа Char char *buffer Ругается компилятор...

Написать функцию, которая переворачивает строку (массива типа char). - C++
Вот задание: Написать функцию reversit(), которая переворачивает строку (массива типа char). Используйте цикл for, которая меняет первый...

Static function 'void leave(char *)' declared but not defined - C++
скорее всего у меня ошибка с инклюдами и хедер файлами вроде нагугил глобальные переменные через экстерн а как статические функции в хедер...

Сортировка слов в char по алфавиту - C++
Доброго всем времени! Помогите пожалуйста! Напечатать слова, входящие в предложение, в алфавитном порядке. Человек, попросивший...

Написать функцию, которая в массиве char ищет цифры и заменяет их символом "#" - C++
Простите за наглость... Но в С++ вообще плыву. Просьба - помогите пожалуйста в написании программки, если вас не слишком затруднит...!!! ...

Отсортировать слова по алфавиту в массиве char. Между словами по несколько пробелов - C++
Задачка такая: есть строка - вводится юзером. Нужно в этой строке упорядочить слова по алфавиту. Проблема в том, что не знаю з чего начать....

написать прогу, которая подсчитывает макс. и мин. значения переменных (int, shorting, longint, uint, char, uchar), ещё указать размер в байтах - C++
помогите плиз. желательно, чтобы программа была написана максимально простым способом


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
19.10.2011, 09:36     написать програму void(char source[] ,char dest[]) которая скопирует все символы из source[] ,которые не принадлежат алфавиту , в dest[]. #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[].  
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
19.10.2011, 09:50     написать програму void(char source[] ,char dest[]) которая скопирует все символы из source[] ,которые не принадлежат алфавиту , в dest[]. #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);
}
-=ЮрА=-
Заблокирован
Автор FAQ
19.10.2011, 12:49     написать програму void(char source[] ,char dest[]) которая скопирует все символы из source[] ,которые не принадлежат алфавиту , в dest[]. #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 без изменений
Yandex
Объявления
19.10.2011, 12:49     написать програму void(char source[] ,char dest[]) которая скопирует все символы из source[] ,которые не принадлежат алфавиту , в dest[].
Ответ Создать тему
Опции темы

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