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

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

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

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

24.12.2011, 17:50. Просмотров 422. Ответов 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 минут
Я не знаю как исправить, сижу пол дня...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2011, 17:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос вывод максимальных слов (C++):

Вывод на экран чётных слов строки исправить на вывод нечётных слов - C++
#include&lt;conio.h&gt; #include&lt;iostream.h&gt; #include&lt;string.h&gt; #include&lt;stdio.h&gt; int i,l,j,k,p,n; char txt; char a,b; main() { ...

STL: Сортировка слов по количеству согласных букв; вывод слов, встречающихся в списке более одного раза - C++
Помогите написать программу!! Сортировка слов по количеству согласных букв; вывод слов, встречающихся в списке более одного раза. ...

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

Строки. Поиск одинаковых слов в предложениях. Вывод вместо одинаковых слов "*" - C++
Ввести два предложения, если в них есть одинаковые слова то во втором предложении заменить эти слова на &quot;*&quot;, причем количество &quot;*&quot; должно...

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2011, 17:50
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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