Предмет: Информатика, автор: Аноним

Помощь пожалуйста! Даю 100 баллов!
Надо сделать это задание на языке "C"
Пожалуйста сделать все по заданию!


Те кто будет писать бред чтобы забрать баллы, улетают в бан!

Задание:
В одном файле задан список ключевых слов. Нужно вывести из другого файла
предложения, содержащие хотя бы одно из ключевых слов.


ee230302: Предложения разделены точкой или каждое на новой строке?

Ответы

Автор ответа: Wh1ter
1

Ответ:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAX_KEYWORDS 100

#define MAX_LINE_LENGTH 1000

int main() {

 char keywords[MAX_KEYWORDS][MAX_LINE_LENGTH];

 int numKeywords = 0;

 FILE* keywordFile = fopen("keywords.txt", "r");

 if (keywordFile == NULL) {

   printf("Error opening keyword file!\n");

   return 1;

 }

 while (fgets(keywords[numKeywords], MAX_LINE_LENGTH, keywordFile) != NULL) {

   numKeywords++;

 }

 fclose(keywordFile);

 FILE* inputFile = fopen("input.txt", "r");

 if (inputFile == NULL) {

   printf("Error opening input file!\n");

   return 1;

 }

 char line[MAX_LINE_LENGTH];

 while (fgets(line, MAX_LINE_LENGTH, inputFile) != NULL) {

   for (int i = 0; i < numKeywords; i++) {

     if (strstr(line, keywords[i]) != NULL) {

       printf("%s", line);

       break;

     }

   }

 }

 fclose(inputFile);

 return 0;

}

Похожие вопросы
Предмет: Математика, автор: Аноним