Здраствуйте. помогите пожалуйста. вот задание(программа на С)
Здраствуйте, помогите пожалуйстаЮ мне некуда больше обратиться. вот задание:
Дан текст. Если первый символ текста не является малой Латинской буквой, то оставить его без изменения. Если же это малая латинская буква, но за начальной группой малых латинских букв не следует цифра, то так же оставить без изменения. Иначе каждую цифру, принадлежащую группе цифр, следующей за начальной группой малых латинских букв, заменить *
Вот моя программа: сначала ввожу текст, потом работаю с ним(там где начинаются ошибки закомментировал)
#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]);
}
*/
Запутано то как все :-). А строка куда вводится? ;-) "z" это же просто char, один символ. Надеюсь, никто не будет обижаться, если я напишу пример, а то исправить ошибки сложнее. :-)
эээээ.......зачем так сложно? в языке Си++ есть функции, которые определяют, является ли, к примеру, переменная h, буквой isalpha(h), цыфрой isdigit(h), строчной буквой islower(h), прописной буквой isupper(h).
Просто у автора темы было сделано примерно так же, как у меня . Не стал разрушать идею
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)