Технологии

Решено

Строки Си - вопрос №673145

Кто может объяснить тему «строки» ?

Задание:

Распечатать введенное предложение, удалив из него слова, которые состоят менее чем из n букв. Считать. что предложение – это последовательность слов с точкой в конце. Слово – последовательность символов, не принадлежащих символам – разделителям. Число букв n задать в командной строке.

Моя версии программы, которая не работает:

#include <string.h>

#include <stdio.h>

#include <conio.h>

int main()

{

       unsigned int n;

       char *find,*simvoli=".!?";

       char text[]=«I like this programm becouse it likes me.»;

       scanf("%u",&n);

       find=strtok(text,find);

       while(find)

             if(strlen(find)<n)

                    printf("%s",find);

       return 0;

}

Программу надо сделать чисто на Си, без использования возможностей Си++.

июнь 27, 2013 г.

  • Всего ответов: 1

  • Левон Баграмиан Аветиков - аватарка

    Левон Баграмиан Аветиков

    21-й в Технологиях

    #include <string.h><br />#include <stdio.h><br />#include <conio.h><br /><br />int main()<br /><br />{<br /><br />      unsigned int n;<br /><br />	  char slova[100][20]={""};<br /><br />      char text[]="I like this programm becouse it likes me.";<br /><br />      scanf("%u",&n);<br /><br />	  int i,j,ii;<br />	  j=0;<br />	  ii=0;<br /><br />      for(i=0;i<strlen(text);i++)<br />	  {<br />		  if(text[i]==' ')<br />		  {<br />			  ii++;<br />			  j=0;<br />		  }<br />		  else<br />		  {<br />			  slova[ii][j]=text[i];<br />			  j++;<br />		  }<br />		  if(text[i]=='.')<br />		  {<br />			  slova[ii][--j]='\0';<br />			  break;<br />		  }<br />	  }<br /><br />      for(i=0;i<=ii;i++)<br />	  {<br />		  if(strlen(slova[i])>=n)<br />		  {<br />			  printf("%s ",slova[i]);<br />		  }<br />	  }<br /><br />      return 0;<br /><br />}

    июнь 28, 2013 г.
    Ответ понравился автору
    Лучший ответ по мнению автора

Похожие вопросы

счетчик нажатий на кнопку.

декабрь 11, 2011 г.

Технологии