1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Строки

Тема в разделе "С и С++", создана пользователем Polly, 11 ноя 2012.

Статус темы:
Закрыта.
  1. Polly

    Polly Гость

    Репутация:
    0
    Добрый вечер! Нужно из заданной строки выбрать все строчные буквы и поместить их в массив. В чем у меня ошибка?
    Код:
    int _tmain(int argc, _TCHAR* argv[])
    {
    char elem,len;
    char S[]="BhiDfo";
    len=strlen(S);
    
    
    int i=0,p=0;
    elem=0;
    for (i=0;i<len;i++)
    {
    if (S[i]>='a' && S[i]<='z')
    {elem++;}
    
    }
    char *M;
    M=(char*)calloc(elem,sizeof(char));
    for (i=0;i<len;i++)
    {
    if(S[i]>='a' && S[i]<='z')
    M[p]=S[i];
    p++;
    }
    for (p=0;p<elem;p++)
    printf("%c",M[p]);
    в итоге выводится ahia(то есть заменяется заглавная буква маленькой а)
     
  2. rrrFer

    rrrFer Гость

    Репутация:
    0
    Код:
    if(S[i]>='a' && S[i]<='z')
    M[p]=S[i];
    p++;
    тут скобочек не хватает
    Код:
    #include <iostream>
    int main() {
    char str[] = "BhiDfo", *t;
    int num;
    
    num = 0;
    for (int i = 0; str[i]; ++i) 
    num += str[i] >= 'a' && str[i] <= 'z';
    t = new char[num + 1];
    
    num = 0;
    for (int i = 0; str[i]; ++i) 
    if (str[i] >= 'a' && str[i] <= 'z')
    t[num++] = str[i];
    t[num] = '\0';
    
    std::cout << t;
    delete []t;
    return 0;
    }
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей