Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

amorua

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
#include <stdio.h>
#include <string.h>
 
int main(int argc, char* argv[])
{  
  char  text1[256];
  int  h;
  char  text2[256]="";
  char* token;
   
  char delimiters[]=" ";
  char bukvy[]="AaBbCcDdEeFfGgJjHhIiGgKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";
  char cyfry[]="1234567890";
   
  int isvar=1, i;
   
  fgets(text1,255,stdin);
  h=strlen(text1);  
  if(text1[h-1]=='\n') text1[h-1]='\0'; /* get rid of \n*/
  h=strlen(text1);
  printf("stroka \"%s\" dlinoj %d symvolov\n",text1,h);
   
  /* analiziruem slovo za slovom */
  token = strtok (text1, delimiters);      /* token => words */
  while(token!=NULL)
   {
    isvar=1;
    /* token - ukazatel' na slovo iz stroki text1 */
    printf("--- slovo \"%s\" dlinoj %d simvolov\n",token,strlen(token));
    /* nado proverit' chto pervyj symvol v token est' bukva */
    if(memchr (bukvy, (char)token[0], strlen(bukvy)) != NULL)
    { printf("  pervaya bykva %c ok\n",(char)token[0]);
      /* nado proverit' chto vse ostal'nye symvoly v token est' bukvy i cyfry */
      for(i=1;i<strlen(token);i++)
      {
        if((memchr (bukvy, (char)token[i], strlen(bukvy)) == NULL)&&\
       (memchr (cyfry, (char)token[i], strlen(cyfry)) == NULL))
        {
           /* etogo symvola token[i] net ni v buvah, ni v cyfrah*/
       printf("  slovo \"%s\" ne est\' peremennaya iz-za \"%c\"\n",token,(char)token[i]);
       isvar=0;
        }
      }
    }
    else isvar=0;
       
    if(isvar==1)
    {  printf("slovo %s - imya peremennoj\n",token);
       if(strlen(text2)==0)sprintf(text2,"%s", token);
       else                sprintf(text2,"%s %s",text2, token);
    }
     
    token = strtok (NULL, delimiters);    
   }
   
  printf("\n\nVse peremennye: %s\n",text2);
  return 0;
}
 
 


Всего записей: 429 | Зарегистр. 09-02-2004 | Отправлено: 18:02 20-12-2008
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru