Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/47: Рейтинг темы: голосов - 47, средняя оценка - 4.83
1 / 1 / 1
Регистрация: 04.03.2012
Сообщений: 101
1

Вывести самое длинное слово

05.03.2012, 12:25. Показов 8822. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть программа, определяющая длину самого длинного слова, но не выводит самого слова. Нужно дополнить выводом слова, заранее спасибо. Язык C.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#define maxsize 100
main()
{   
char s[maxsize],slovo[maxsize], *word; //s-iskomaya stroka; *word-slovo.
int i, len, stringlen, maxlen; //len-dlina slova; stringlen-dlina stroki; maxlen- maximalnaya dlina slova;
FILE *lw11;
lw11=fopen("C:\\1.txt", "rw");
fgets(s,256,lw11);
fclose(lw11);
printf("Text:%s\n",s);
stringlen=strlen(s);
word=strtok(s," ,.!?");
while(word!=NULL)
{
len=strlen(word);
if(len>maxlen)
maxlen=len;
word=strtok(NULL," ,.!?");
}  
printf("Lenth of the longest word:%i\n",maxlen);
getch();
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2012, 12:25
Ответы с готовыми решениями:

Вывести строку по словам, найти самое длинное и самое короткое слово
• Дана строка S. Вивисты его послов и сказать которое дольше и которое меньше слово.

Вывести самое длинное слово
1) Вывести самое длинное слово #include&lt;stdio.h&gt; #include&lt;conio.h&gt; void funk(char s, int max,...

Вывести самое длинное слово в строке
7. Дана строка, состоящая из слов (словом считать группу символов, начинающуюся и заканчивающуюся...

Определить и вывести на экран самое длинное слово в файле
файл содержит некоторый набор символов(произвольная последовательность латинских букв)...

5
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.03.2012, 12:29 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#define maxsize 100
main()
{   
char s[maxsize],slovo[maxsize], *word; //s-iskomaya stroka; *word-slovo.
int i, len, stringlen, maxlen; //len-dlina slova; stringlen-dlina stroki; maxlen- maximalnaya dlina slova;
FILE *lw11;
lw11=fopen("C:\\1.txt", "rw");
fgets(s,256,lw11);
fclose(lw11);
printf("Text:%s\n",s);
stringlen=strlen(s);
word=strtok(s," ,.!?");
char* longest_word = NULL;
while(word!=NULL)
{
len=strlen(word);
if(len>maxlen)
{
   maxlen=len;
   if (longest_word)
   {
      free(longest_word);
   }
   longest_word = malloc(sizeof(char) * (len + 1));
   strncpy(longest_word, word, len + 1);
}
word=strtok(NULL," ,.!?");
}  
printf("Lenth of the longest word:%i\n",maxlen);
printf("Longest word is:%s\n", longest_word);
free(longest_word);
getch();
return 0;
}
1
1 / 1 / 1
Регистрация: 04.03.2012
Сообщений: 101
05.03.2012, 12:39  [ТС] 3
C
1
 longest_word = malloc(sizeof(char) * (len + 1));
в этой строчке выдает ошибку конвертирования void в char
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
05.03.2012, 12:44 4
Цитата Сообщение от almostclever Посмотреть сообщение
в этой строчке выдает ошибку конвертирования void в char
Это потому что Вы используете компилятор C++, а надо Си.
0
1 / 1 / 1
Регистрация: 04.03.2012
Сообщений: 101
08.03.2012, 12:14  [ТС] 5
может быть есть способ полегче?
0
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
08.03.2012, 13:00 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include<stdio.h>
#include<conio.h>
#include<string.h>
 
void main()
{
 char string[]="Shla Sasha po shosse i sosola sushky";
 char geps[]=" ";
 char *token;
 char *st;
 int max_dlinna,samaya_dlinnaya;
 
 max_dlinna=0;
 samaya_dlinnaya=0;
 
 printf("The line consisting of groups 0 and 1, divided one or several blanks:\n");
 printf("%s",string);
 //разбиваем строки на группы, разделенные пробелом
 printf("\n\nThe longest group in the entered line is following: \n",string);
 token=strtok(string,geps); //выбрать первую группу
 while (token!=NULL)
     {
      samaya_dlinnaya=strlen(token);
      if(samaya_dlinnaya>max_dlinna)
          {
           max_dlinna=samaya_dlinnaya;
           st=token;
          }
      token=strtok(NULL,geps); //получить следующую лексему
     }
printf("%s",st);
 
 
getch();
}
1
08.03.2012, 13:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2012, 13:00
Помогаю со студенческими работами здесь

Вывести самое длинное слово строки в верхнем регистре
Добрый день в програме нужно вычислить самое долгое слово в строке и потом вывести ето слово...

Найти в каждом предложении самое длинное слово и вывести его
Заданы 2 предложения в файле my.txt. Нужно найти в каждом предложении самое длинное слово и вывести...

Найти самое длинное слово и вывести предложение большиыми буквами
Вот у меня есть программа. При вводе нескольких предложений программа находит самое длинное слово и...

Необходимо найти в заданном предложении самое длинное слово и вывести на экран
Пожалуйста, помогите найти тут ошибки. Язык -си #include&lt;stdio.h&gt; #include &lt;stdlib.h&gt; int...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru