2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4, 5  След.
 
 
Сообщение10.12.2007, 22:19 
Да

 
 
 
 
Сообщение10.12.2007, 22:23 
Код:
   while(*arr!=' '&&*arr!=',')
    {
      if(*arr<= '9'&& *arr>='0')
      {
        flag = 0;
      }
      arr++;
    }


где находится arr после первого выхода из этого цикла?

 
 
 
 
Сообщение10.12.2007, 22:44 
На пробеле вроде :(

 
 
 
 
Сообщение10.12.2007, 22:46 
верно.
а p?
где находится после первого выхода из цикла?

 
 
 
 
Сообщение10.12.2007, 22:49 
Тоже на пробеле

 
 
 
 
Сообщение10.12.2007, 22:53 
Код:
   while(*arr!=' '&&*arr!=',')
    {
      if(*arr<= '9'&& *arr>='0')
      {
        flag = 0;
      }
      arr++;
    }


я говорю об этом цикле??

Добавлено спустя 1 минуту 29 секунд:

arr дошел до пробела
а где наш p?

 
 
 
 
Сообщение10.12.2007, 22:53 
Ааа. здесь он остается на первом символе. р вроде не меняется

 
 
 
 
Сообщение10.12.2007, 22:58 
отлично.
теперь смотри

Код:
  flag = 1;
    while(*arr!=' '&&*arr!=',')
    {
      if(*arr<= '9'&& *arr>='0')
      {
        flag = 0;
      }
      arr++;
    }
    if(flag)
    {
      while(p!=arr)
      {
        printf("%c",*p);
        p++;
      }
      printf("\n");
    }


arr дошел до пробела и если за время своего движения не встретил цифру
то flag остался равен 1
так?

 
 
 
 
Сообщение10.12.2007, 23:00 
Так

 
 
 
 
Сообщение10.12.2007, 23:04 
теперь настала очередь p
Код:
    if(flag)
    {
      while(p!=arr)
      {
        printf("%c",*p);
        p++;
      }
      printf("\n");
    }

мы говорим так
если не встретилась цифра в текущем идентификаторе то распечатай его
понимаешь?
и движемся до пробела где находится наш arr

 
 
 
 
Сообщение10.12.2007, 23:05 
Поняла

 
 
 
 
Сообщение10.12.2007, 23:07 
после этого все что осталось так только передвинуть оба указателя
на начало следующего идентификатора
Код:
    while(*arr==' ')
      arr++;
    p = arr;

 
 
 
 
Сообщение10.12.2007, 23:09 
Это я тоже поняла

 
 
 
 
Сообщение10.12.2007, 23:13 
полный текст программы
Код:
#include<conio.h>
#include<stdio.h>

int main()
{
  char *arr="abcd1 jhg ng1111,";
  char *p=arr;
  int flag = 0;

  while(*arr!=',')
  {
    flag = 1;
    while(*arr!=' '&&*arr!=',')
    {
      if(*arr<= '9'&& *arr>='0')
      {
        flag = 0;
      }
      arr++;
    }
    if(flag)
    {
      while(p!=arr)
      {
        printf("%c",*p);
        p++;
      }
      printf("\n");
    }
    while(*arr==' ')
      arr++;
    p = arr;

   }
getch();
        return 0;
}


Добавлено спустя 1 минуту 9 секунд:

есть у Вас вопросы?

Добавлено спустя 2 минуты 50 секунд:

строку с исходными данными можно задавать любого размера
но в конце должна быть запятая(как в условии задачи)

 
 
 
 
Сообщение10.12.2007, 23:14 
Спасибо большое :D Вы мне очень помогли

 
 
 [ Сообщений: 61 ]  На страницу Пред.  1, 2, 3, 4, 5  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group