Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/16: Рейтинг темы: голосов - 16, средняя оценка - 4.75
макс 1376
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 49
1

С клавиатуры вводится строка символов. Вывести на экран все согласные символы, встречающиеся в строке

10.10.2012, 23:45. Просмотров 3184. Ответов 10
Метки нет (Все метки)

С клавиатуры вводится строка символов. Вывести на экран все согласные символы, встречающиеся в строке.на СИ
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2012, 23:45
Ответы с готовыми решениями:

С клавиатуры вводится латиница, не более 80 символов, вывести эти символы так, чтобы не было пробелов
С клавиатуры вводится латиница, не более 80 символов, вывести эти символы так, чтобы не было более...

Вывести на экран все цифры, встречающиеся в строке
С помощью массивов. Вывести на экранвсе цифры ,встречающиесяв строке.подсчитать их количество

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

Вводится строка любых символов, вывести сначала все символы, потом цифры
помогите, пожалуйста!спасибо, заранее!)))) 1)написать функцию, которая делает следующее:вводится...

Даны 2 строки символов.Проверить, присутствуют ли в 1 ой строке все символы, встречающиеся во второй.
Даны 2 строки символов.Проверить, присутствуют ли в 1 ой строке все символы, встречающиеся во...

10
СашаН
271 / 270 / 145
Регистрация: 15.03.2012
Сообщений: 614
Записей в блоге: 1
11.10.2012, 10:53 2
Привет макс 1376, вот код.
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
#include <stdio.h>
#define SSIZE 80    // длинна строки
 
void mygets(char *string, int max)
{
    int ch;
    int i = 0;
    while((ch = getchar()) != EOF && ch != '\n' && i < max - 1 )
        string[i++] = ch;
    string[i] = '\0';
}
void print(char *string)
{
    #define YES 1
    #define NO  0
    char vowels[] = "AaEeIiOoUu";
    char *ptr = string;
    int present;
    int n;
    while(*ptr) {
        present = YES;
        n = 0;
        while(vowels[n]) {
            if (*ptr == vowels[n++] && *ptr>='A' && *ptr<='z') {
                present = NO;
            }
        }
        if (present) putchar(*ptr);
        ptr++;
    }
}
int main(void)
{
    char string[SSIZE];
    mygets(string, SSIZE);
    print(string);
    
    return 0;
}
Зы: Если тебе помогли, то можешь и "+Спасибо" щёлкнуть.
1
макс 1376
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 49
11.10.2012, 11:03  [ТС] 3
Цитата Сообщение от СашаН Посмотреть сообщение
Привет макс 1376, вот код.
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
#include <stdio.h>
#define SSIZE 80    // длинна строки
 
void mygets(char *string, int max)
{
    int ch;
    int i = 0;
    while((ch = getchar()) != EOF && ch != '\n' && i < max - 1 )
        string[i++] = ch;
    string[i] = '\0';
}
void print(char *string)
{
    #define YES 1
    #define NO  0
    char vowels[] = "AaEeIiOoUu";
    char *ptr = string;
    int present;
    int n;
    while(*ptr) {
        present = YES;
        n = 0;
        while(vowels[n]) {
            if (*ptr == vowels[n++] && *ptr>='A' && *ptr<='z') {
                present = NO;
            }
        }
        if (present) putchar(*ptr);
        ptr++;
    }
}
int main(void)
{
    char string[SSIZE];
    mygets(string, SSIZE);
    print(string);
    
    return 0;
}
Зы: Если тебе помогли, то можешь и "+Спасибо" щёлкнуть.
спасибо конечно я щелкнул)))но можно код по проще как бы описать глассные в массиве и проверить с помощью строковой функции ,я прото незнаю кк на си((((
0
СашаН
271 / 270 / 145
Регистрация: 15.03.2012
Сообщений: 614
Записей в блоге: 1
11.10.2012, 11:27 4
А библиотечные функции можно использовать?
0
11.10.2012, 11:27
alkagolik
Заблокирован
11.10.2012, 11:32 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
#include <stdio.h>
#include <string.h>
 
#define __ASCII (256)
 
unsigned char base[ __ASCII ];
const unsigned char* s = "bcdfghjklmnpqrstvwxyzBCDFGHKLMNPQRSTVWXYZ";
 
int bar (unsigned char c) {
    return (base[ (size_t)c ] && (int) strchr(s, c));
}
 
void foo (unsigned char* str) {
 
    while ( *str ) {
        if ( bar(*str) ) {
            putchar( *str );
            base[ (size_t)*str ] = 0;
            base[ *str >= 'a' ? *str - ('a' - 'A') : *str + ('a' - 'A') ] = 0;
        }
        ++str;
    }
}
 
int main() {
 
    unsigned char str[] = "This iS a strIng";
    memset(base, 1, __ASCII);
 
    foo(str);
 
    return 0;
}
1
макс 1376
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 49
11.10.2012, 11:36  [ТС] 6
Цитата Сообщение от СашаН Посмотреть сообщение
А библиотечные функции можно использовать?
какие например?
0
СашаН
271 / 270 / 145
Регистрация: 15.03.2012
Сообщений: 614
Записей в блоге: 1
11.10.2012, 11:47 7
#include <ctype.h>
isalpha();

#include <string.h>
strchr();
0
макс 1376
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 49
11.10.2012, 11:53  [ТС] 8
Цитата Сообщение от СашаН Посмотреть сообщение
#include <ctype.h>
isalpha();

#include <string.h>
strchr();
string.h можно
0
СашаН
271 / 270 / 145
Регистрация: 15.03.2012
Сообщений: 614
Записей в блоге: 1
11.10.2012, 12:17 9
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
 
#define SSIZE 80    // длинна строки
 
int main(void)
{
    char string[SSIZE];
    char vowels[] = "AaEeIiOoUu";   // гласные
    int n = 0;
    fgets(string, SSIZE-1,stdin);
    while (string[n] != '\0') {                     //повторяй до конца строки
        if ( !strchr(vowels,string[n]) &&           // если символ не гласная
             string[n] >= 'A' && string[n] <= 'z')  // но буква
            putchar(string[n]); напечатать
        ++n;
    }
 
    return 0;
}
1
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10297 / 6179 / 1555
Регистрация: 25.07.2009
Сообщений: 11,762
11.10.2012, 14:57 10
Цитата Сообщение от СашаН Посмотреть сообщение
string[n] >= 'A' && string[n] <= 'z') // но буква
А isalpha из ctype.h чем не угодила?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
#define CONSONANTS "bcdfghjklmnpqrstvwxyz"
 
int main(void) {
    char buf[BUFSIZ], * ptr;
    
    while ( printf("\nString: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' && printf("Consonants: ") )
        for ( ptr = buf; *ptr; ++ ptr )
            if ( strchr(CONSONANTS, tolower(*ptr)) )
                printf("%c", *ptr);
    
    return 0;
}
0
СашаН
271 / 270 / 145
Регистрация: 15.03.2012
Сообщений: 614
Записей в блоге: 1
11.10.2012, 15:02 11
Цитата Сообщение от easybudda Посмотреть сообщение
А isalpha из ctype.h чем не угодила?
TC говарит.

Цитата Сообщение от макс 1376 Посмотреть сообщение
string.h можно
0
11.10.2012, 15:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2012, 15:02

Вывести на экран бегущую строку. Строка вводится с клавиатуры
Вообщем задание такое: Вывести на экран бегущую строку. Строка вводится с клавиатуры по нажатию...

С клавиатуры вводится текст. Признак конца ввода - точка. Вывести все согласные, которых нет ни в одном слове
С клавиатуры вводится текст. Признак конца ввода — точка. Вывести все со- гласные, которых нет ни...

С клавиатуры вводится строка символов. Удалить из строки все слова начинающиеся на букву А.
№2 Решите задачу с использование алгоритмического языка. Задача. С клавиатуры вводится строка...


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

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

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