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

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

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

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

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

Строка: Подсчитать символы пунктуации в строке символов, которая вводится с клавиатуры
Написать программу, подсчитывает символы пунктуации в строке символов, вводится с клавиатуры.

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

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

10
СашаН
348 / 298 / 164
Регистрация: 15.03.2012
Сообщений: 648
Записей в блоге: 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
СашаН
348 / 298 / 164
Регистрация: 15.03.2012
Сообщений: 648
Записей в блоге: 1
11.10.2012, 11:27 4
А библиотечные функции можно использовать?
0
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
СашаН
348 / 298 / 164
Регистрация: 15.03.2012
Сообщений: 648
Записей в блоге: 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
СашаН
348 / 298 / 164
Регистрация: 15.03.2012
Сообщений: 648
Записей в блоге: 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Эксперт С++
10751 / 6479 / 1601
Регистрация: 25.07.2009
Сообщений: 12,229
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
СашаН
348 / 298 / 164
Регистрация: 15.03.2012
Сообщений: 648
Записей в блоге: 1
11.10.2012, 15:02 11
Цитата Сообщение от easybudda Посмотреть сообщение
А isalpha из ctype.h чем не угодила?
TC говарит.

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

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

С клавиатуры вводится строка символов, выдать на экран информацию между первым и последним i
с клавиатур вводится строка символов, выдать на экран информацию между 1 и последним i c++

Найти в строке определённую последовательность символов(подстроку) и заменить её другой. Строка вводится с клавиатуры
Проверка на ввод пустой строки. Помогите пж. Все в соответствии с синтаксисом Delphi

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

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


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

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

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