Тема: Текст( С)
Можете написати програму яка зможе підрахувати скільки разів у рядку зустрічається певне слово, а також знайти
починаючи з якого символу це слово зустрічається в тексті. Результат записати в новий
файл.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Текст( С)
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Можете написати програму яка зможе підрахувати скільки разів у рядку зустрічається певне слово, а також знайти
починаючи з якого символу це слово зустрічається в тексті. Результат записати в новий
файл.
Покажіть напрацювання - доведіть, що ви залогінилися не для цього.
# 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;
}
наприклад це, але вона рахує щось не те(
# 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() по пробілах ефективніший, ніж посимвольний аналіз. Крім того, дозволить отримати усі слова окремо і порівнювати та'як вам треба.
Ніяк, Ви написали прислати напрацювання і не казали щоб воно працювало)
Ніяк, Ви написали прислати напрацювання і не казали щоб воно працювало)
А ви таки з халявщиків... Репостнули сюди код, навіть не перевіривши, чи він взагалі компілюється, і називаєте це гордо "напрацюванням".
З.І: той факт, що ви ні слова не сказали щодо примітки про strtok(), натякає, що ви сюди прийшли за готовим кодом, а не вирішенням задачі.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися