Помощь - Поиск - Пользователи - Календарь
Полная версия: замена символов в С > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
Andreyka
Здраствуйте. помогите пожалуйста. вот задание(программа на С)
Здраствуйте, помогите пожалуйстаЮ мне некуда больше обратиться. вот задание:

Дан текст. Если первый символ текста не является малой Латинской буквой, то оставить его без изменения. Если же это малая латинская буква, но за начальной группой малых латинских букв не следует цифра, то так же оставить без изменения. Иначе каждую цифру, принадлежащую группе цифр, следующей за начальной группой малых латинских букв, заменить *

Вот моя программа: сначала ввожу текст, потом работаю с ним(там где начинаются ошибки закомментировал)
#include <stdio.h>
#include <math.h>
int i,j,K,M;
char z,s;
char lat[]="abcdefghijklmnoprstuvwxyz";
char cifra[]="1234567890";

void main()
{
printf("Napishite predlojenie s tochkoi v konce \n");
for (z=s=' ';z!='.';s=z)
{
scanf("%c",&z);
printf("%c",z);
}

/* вот здесь начинаются ощибки */
/*
{K=0;
for (i=0; i<=27; i++)
if (z[0]==lat[i])
{
for (i=0;i<=K;i++)
for (j=0;j<=27;j++)
{
if (text[i]==lat[j]) {K=K+1;}
}
for (i=0;i<=10;i++)
if (text[K+1]==cifra[i])
{
for (i=K+1;i<=M;i++)
for (j=0;j<=10;j++)
if (text[i]==cifra[j]) {M=M+1;}
for (i=K;i<=M;i++)
text[i]='*';
for (i=0;i<=15;i++)
printf("%c",text[i]);
}
}
for (i=0;i<=15;i++)
printf("%c",&text[i]);
}

*/
creer
Запутано то как все :-). А строка куда вводится? ;-) "z" это же просто char, один символ. Надеюсь, никто не будет обижаться, если я напишу пример, а то исправить ошибки сложнее. :-)
Код

#include <stdio.h>

char lat[]="abcdefghijklmnoprstuvwxyz";
char cifra[]="1234567890";
char st[255];
int pos;

int main()
{
    printf("Write string\n");
    gets(st);

    if (strcspn(st,lat)==0)
    {
        pos = strcspn(st,cifra);
        while (strcspn(st,cifra)!=strlen(st))
        {
            st[strcspn(st,cifra)]='*';
        }
    }

printf(st);
return 0;
}
Nefrit
эээээ.......зачем так сложно? umnik.gif в языке Си++ есть функции, которые определяют, является ли, к примеру, переменная h, буквой isalpha(h), цыфрой isdigit(h), строчной буквой islower(h), прописной буквой isupper(h). beer.gif
creer
Просто у автора темы было сделано примерно так же, как у меня smile.gif. Не стал разрушать идею wink.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.