1

Тема: Текст( С)

Можете написати програму яка зможе підрахувати скільки разів у рядку зустрічається певне слово, а також знайти
починаючи з якого символу це слово зустрічається в тексті. Результат записати в новий
файл.

2

Re: Текст( С)

Покажіть напрацювання - доведіть, що ви залогінилися не для цього.

3 Востаннє редагувалося dveans (21.01.2013 14:06:02)

Re: Текст( С)

# include <stdio.h>
# include <conio.h>
# include <string.h>
int main (void)
{
FILE *fp_in;
int buf,i=0,k=1,j=0,a=0;
char str[1000],rp[]=".?!",sgl[]="qwrtpsdfghjklzxcvbnmQWRTPSDFGHJKLZXCVBNM",rsgl[]=" .,?!";
fp_in=fopen("E://123.txt","rt");
if (!fp_in)
{
printf("File not found");
getch();
return 1;
}
while ((buf=fgetc(fp_in))!=EOF)
    str[i++]=buf;
str[i]=0;
i=0;
while (str[i])
{
   if (str[i]==' ') k++;
   if (strchr(rp,str[i])) j++;
   if ((strchr(sgl,str[i]))&&(strchr(rsgl,str[i-1]))) a++;
   i++;
}
printf("\n%s\nKolichestvo slov v texte = %d,\nkolichestvo predlozhenii v texte = %d,\nkolichestvo slov nach. soglasnoi = %d,\n,str,k-1,j,a);
getch();
return 0;
}

наприклад це, але вона рахує щось не те(

4

Re: Текст( С)

dveans написав:
# include <stdio.h>
# include <conio.h>
# include <string.h>
int main (void)
{
FILE *fp_in;
int buf,i=0,k=1,j=0,a=0;
char str[1000],rp[]=".?!",sgl[]="qwrtpsdfghjklzxcvbnmQWRTPSDFGHJKLZXCVBNM",rsgl[]=" .,?!";
fp_in=fopen("E://123.txt","rt");
if (!fp_in)
{
printf("File not found");
getch();
return 1;
}
while ((buf=fgetc(fp_in))!=EOF)
    str[i++]=buf;
str[i]=0;
i=0;
while (str[i])
{
   if (str[i]==' ') k++;
   if (strchr(rp,str[i])) j++;
   if ((strchr(sgl,str[i]))&&(strchr(rsgl,str[i-1]))) a++;
   i++;
}
printf("\n%s\nKolichestvo slov v texte = %d,\nkolichestvo predlozhenii v texte = %d,\nkolichestvo slov nach. soglasnoi = %d,\n,str,k-1,j,a);
getch();
return 0;
}

наприклад це, але вона рахує щось не те(

А як воно взагалі у вас скомпілювалося?..

З.І: strtok() по пробілах ефективніший, ніж посимвольний аналіз. Крім того, дозволить отримати усі слова окремо і порівнювати та'як вам треба.

5

Re: Текст( С)

Ніяк, Ви написали прислати напрацювання і не казали щоб воно працювало)

6

Re: Текст( С)

http://www.cyberforum.ru/c-beginners/thread754566.html

7

Re: Текст( С)

dveans написав:

Ніяк, Ви написали прислати напрацювання і не казали щоб воно працювало)

А ви таки з халявщиків... Репостнули сюди код, навіть не перевіривши, чи він взагалі компілюється, і називаєте це гордо "напрацюванням".

З.І: той факт, що ви ні слова не сказали щодо примітки про strtok(), натякає, що ви сюди прийшли за готовим кодом, а не вирішенням задачі.