Форум программистов, компьютерный форум CyberForum.ru

вывод максимальных слов - C++

Восстановить пароль Регистрация
 
bacekk
2 / 2 / 0
Регистрация: 30.11.2010
Сообщений: 89
24.12.2011, 17:50     вывод максимальных слов #1
Задание было - разработать программу и подпрограмму (подпрограммы), работающую с текстовым файлом. Подсчитать количество слов и определить и вывести на экран максимальное и минимальное слова и их длину. Но в программе есть косяк, который заключается в том, что если во входном файле два слова максимальной длины, он выдает только одно из них как максимальное, а надо, чтобы оба, с минимальными словами то же самое, как исправить, не подскажите?

Код
#include <stdio.h>
#include <string.h>
#include <conio.h>

int main() {
 const int len=255; // Максимальная длина строк
 char fn[len]; // Имя исходного файла
 printf("Enter file name: ");
 scanf("%s", fn);
 FILE* fin = fopen(fn, "rt");
 if (!fin) {
  printf("\nCouldn't open file!\n");
  getch();
  return 1;
 }
 char maxWord[len] = "\0"; // Слово макс. длины
 char minWord[len] = "\0"; // Слово мин. длины
 int count = 0; // Количество слов
 char line[len]; // Строка
 while (fgets(line, len, fin)) { // Пока не закончился файл
  const char delims[]=" .,!?/<>|)(*:;\""; // Разделители между словами
  char *word = strtok(line, delims); // Извлекаемое первое слово
  while (word) { // Пока есть слова в строке
   count++;
   if (strlen(maxWord) < strlen(word))
    strcpy(maxWord, word);
   if (strlen(minWord) > strlen(word) || strlen(minWord)==0)
    strcpy(minWord, word);
   word = strtok(NULL, delims);
  }
 }
 fclose(fin); // Закрываем файл
 // Вывод результатов
 printf("\nWord of the max. length: %s (%i)\n", maxWord, strlen(maxWord));
 printf("Word of the min. length: %s (%i)\n", minWord, strlen(minWord));
 printf("The total count of words: %i\n", count);
 getch();
 return 0;
}
Добавлено через 4 часа 57 минут
Я не знаю как исправить, сижу пол дня...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2011, 17:50     вывод максимальных слов
Посмотрите здесь:

C++ Вывод слов группами
C++ Вывод слов из строки
C++ Вывод нечетных слов
Вывод слов C++
Вывод английских слов C++
C++ вывод слов из файла
C++ STL: Сортировка слов по количеству согласных букв; вывод слов, встречающихся в списке более одного раза
Вывод слов с пробелами C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru