Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 24.02.2017
Сообщений: 39
1

Найти порядковый номер самого длинного слова среди введенных литерных величин

07.04.2017, 19:34. Показов 1218. Ответов 1
Метки нет (Все метки)

УСЛОВИЕ:
Дан текстовый файл Inlet.in, содержащий строко-
вые величины S.
Найти порядковый номер самого длинного слова сре-
ди введенных литерных величин. Если этого сделать
нельзя, значением результата положить –1.
Определение. Слово - это последовательность
символов литерной величины, не содержащая в
себе символ пробела.

Ввод (файл Inlet.in):
Строковая величина
Строковая величина
. . .
Строковая величина
Вывод (файл Outlet.out):
Порядковый номер длинного
слова текста или -1

ВОТ ПРИМЕРНЫЙ КОД В ДЕЛФИ,НО ОН НЕ СОВСЕМ ПРАВИЛЬНЫЙ ,КАК СКАЗАЛ ПРЕПОДАВАТЕЛЬ

Delphi
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
program Project2; 
 
{$APPTYPE CONSOLE} 
 
uses 
SysUtils; 
 
var s,maxslovo, slovo:string; 
first, second: text; 
n,i,k:integer; 
 
Procedure PassWhiteSpace(var i:integer); 
begin 
while (i<=Length(s)) and (s[i]=' ') do 
begin 
inc(i); 
end; 
end; 
Procedure getword(var i,n: integer; out slovo:string); 
begin 
while (i<=Length(s)) and (s[i]<>' ') do 
begin 
slovo:=slovo+s[i]; 
inc(i); 
end; 
inc(n); 
end; 
 
begin 
{ TODO -oUser -cConsole Main : Insert code here } 
assign(first,'Inlet.in'); 
assign(second,'Outlet.out'); 
reset(first); 
rewrite(second); 
maxslovo:=''; 
n:=0; 
while not eof(first) do 
begin 
readln(first,s); 
i:=1; 
while i<=length(s) do 
begin 
passwhitespace(i); 
getword(i,n,slovo); 
if length(maxslovo)<length(slovo) then 
begin 
maxslovo:=slovo; 
k:=n; 
end; 
end; 
end; 
write(second,k); 
close(first); 
close(second); 
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2017, 19:34
Ответы с готовыми решениями:

Найти порядковый номер самого длинного слова в строке.
Дана строка-предложение, все слова разделены в ней пробелами. Найти порядковый номер самого...

Строка символов. Определить длинну самого длинного слова и его порядковый номер в строке.
1)Дана строка символов. Определить длинну самого длинного слова и его порядковый номер в строке.

Найти порядковый номер и длину самого длинного предложения
здрасьте :) помогите разобраться с программкой задача: найти порядковый номер и длину самого...

Найти порядковый номер и длину самого длинного числа в файле
Требуется написать программу, которая в текстовом файле, состоящем из строк длиной не более 50...

1
1742 / 1335 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
08.04.2017, 03:55 2
Лучший ответ Сообщение было отмечено a518 как решение

Решение

Вроде работает
C#
1
using System.IO;
C#
1
2
3
4
5
6
7
8
9
static void Main()
{
    //адрес файлов естественно на свой
    string[] s = File.ReadAllText(@"E:\Inlet.in").Split(' ','\n').ToArray(); //пишем слова в массив
    int s1;
    if (s.GroupBy(v => v.Length).Count() <= 2)  s1 = -2; //если длина всех слов одинакова
    else s1 = s.Aggregate(0, (x, v) => v != s.Where(b => b.Length == s.Select(c => c.Length).Max()).First() ? x + 1 : x); //вычисляем индекс
    File.WriteAllText(@"E:\Outlet.out", String.Format("{0}", s1 + 1)); //пишем файл
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2017, 03:55

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Дано 30 чисел Найти максимальное и минимальное число среди введенных и их порядковый номер
Дано 30 чисел. Найти максимальное и минимальное число среди введенных и их порядковый номер....

Определения самого длинного среди четырех введенных пользователем строк
Создать программу для определения самого длинного среди 4-х введенных пользователем строк....

Дана строка, содержащая текст. Найти длину самого короткого слова и самого длинного слова
Задание: Дана строка, содержащая текст. Найти длину самого короткого слова и самого длинного слова....

Дана строка, содержащая текст. Найти длину самого короткого слова и самого длинного слова
Добрый день! Помогите пожалуйста, не сильно разбираюсь в строках:( Дана строка, содержащая...


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

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

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