IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> замена символов в С
Andreyka
сообщение 4.11.2007, 17:27
Сообщение #1


Студент
**

Группа: Продвинутые
Сообщений: 57
Регистрация: 16.9.2007
Город: Омск
Учебное заведение: ф
Вы: студент



Здраствуйте. помогите пожалуйста. вот задание(программа на С)
Здраствуйте, помогите пожалуйстаЮ мне некуда больше обратиться. вот задание:

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

Вот моя программа: сначала ввожу текст, потом работаю с ним(там где начинаются ошибки закомментировал)
#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
сообщение 5.11.2007, 15:02
Сообщение #2


Студент
**

Группа: Продвинутые
Сообщений: 121
Регистрация: 28.10.2007
Город: Екатеринбург
Учебное заведение: УГТУ-УПИ
Вы: студент



Запутано то как все :-). А строка куда вводится? ;-) "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
сообщение 22.1.2008, 8:46
Сообщение #3


Школьник
*

Группа: Продвинутые
Сообщений: 41
Регистрация: 12.1.2008
Из: Днепропетровск
Город: Украина Днепропетровск
Учебное заведение: НГУ
Вы: студент



эээээ.......зачем так сложно? (IMG:style_emoticons/default/umnik.gif) в языке Си++ есть функции, которые определяют, является ли, к примеру, переменная h, буквой isalpha(h), цыфрой isdigit(h), строчной буквой islower(h), прописной буквой isupper(h). (IMG:style_emoticons/default/beer.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
creer
сообщение 22.1.2008, 14:01
Сообщение #4


Студент
**

Группа: Продвинутые
Сообщений: 121
Регистрация: 28.10.2007
Город: Екатеринбург
Учебное заведение: УГТУ-УПИ
Вы: студент



Просто у автора темы было сделано примерно так же, как у меня (IMG:style_emoticons/default/smile.gif). Не стал разрушать идею (IMG:style_emoticons/default/wink.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 1.5.2024, 22:50

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru