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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bacekk
2 / 2 / 0
Регистрация: 30.11.2010
Сообщений: 89
#1

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

24.12.2011, 17:50. Просмотров 421. Ответов 0
Метки нет (Все метки)

Задание было - разработать программу и подпрограмму (подпрограммы), работающую с текстовым файлом. Подсчитать количество слов и определить и вывести на экран максимальное и минимальное слова и их длину. Но в программе есть косяк, который заключается в том, что если во входном файле два слова максимальной длины, он выдает только одно из них как максимальное, а надо, чтобы оба, с минимальными словами то же самое, как исправить, не подскажите?

Код
#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     вывод максимальных слов
Посмотрите здесь:

Считывание слов из потока cin и вывод их в поток cout, с заменой нежелательных слов словом "Bleep" - C++
Напишите программу, заглушающую нежелательные слова; иначе говоря, считайте слова из потока cin и выведите их в поток cout, заменив...

Вывод слов - C++
Как осуществить вывод слов, а не адреса (см. Миниатюры)? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int...

Вывод слов из строки - C++
Суть задачи: Дан текст, состоящий из N (2&lt;=N&lt;=10) строк с максимальной длиной 80 символов. Необходимо вывести в обратном алфавитном...

Вывод слов с пробелами - C++
На символьной строке, не превышающей 80-ти символов, соседние слова разделены пробелом, и строка заканчивается на &quot;.&quot; точку. Вывести все...

Вывод 2-ух одинаковых слов - C++
дано предложение.в нем только два слова одинаковые.найти эти слова.

Вывод слов из строки - C++
Нужно вывести предпоследнее слово строки, если оно состоит из трех символов, иначе вывести второе слово строки. Класс string не...

Сравнение и вывод слов - C++
Всем доброго времени суток. Хочу попросить помощи. Моя задача - составить программу, которая бы при вводе фамилии выдавала некие данные...

Вывод английских слов - C++
Ребят помогите с программой! Написать программу, которая считывает текст из файла и выводит на экран все английские слова, в которых...

Вывод одинаковых слов - C++
Задание: &quot;Пользователь вводит набор слов. Необходимо сформировать массив из встречающихся более 1 раза слов&quot;. Написал код, но работает...

Вывод нечетных слов - C++
Вот сама программа... Я сделал подсчет слов в строке... Но не как не получается вывести все нечетные слова. Подскажите как организовать...

зеркальный вывод слов - C++
Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот (зеркально).

вывод слов из файла - C++
Задача такая, нужно вывести все слова которые находятся в файле, но проблема в том что если после слова стоит запятая то он считает что это...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru