Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 27.03.2010
Сообщений: 10
1

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

27.03.2010, 22:14. Показов 1016. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На диск записывается массив строк как один компонент. Считать из файла каждую строку поочередною. Найти во всех строках первые по порядку слова с максимальным количеством символов и записать эти слова в отдельный файл.

С меня пиво
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2010, 22:14
Ответы с готовыми решениями:

Найти слова с минимальным и максимальным количеством символов, затем поменять их местами
Найти слово с минимальным и максимальным количеством символов, затем поменять их местами. На си

Удалить из текста все слова с нечетным количеством символов и перевернуть слова с четным количеством символов
удалить из текста все слова с нечетным количеством символов и перевернуть все слова с четным...

Файл Строки Найти строку с максимальным количеством слова "есть"
Задание: дан какой-то файл, сделанный в блокноте. Каждая его строка состоит из букв русского...

Как найти слова, которые повторяются в обеих строках, если разделяю слова в строках , используя Tokenizer
Нужно вывести слова, которые повторяются в обеих строках. Сказали, что нужно разделить строки на...

7
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
4190 / 1291 / 237
Регистрация: 27.07.2009
Сообщений: 3,962
27.03.2010, 22:23 2
Цитата Сообщение от DoctorUJin Посмотреть сообщение
С меня пиво
в Челябинск лично привезешь или бандеролью отправишь? )))
0
1 / 1 / 0
Регистрация: 27.03.2010
Сообщений: 10
27.03.2010, 22:26  [ТС] 3
TAVulator, сам привезу Т__Т (стекают слезы)

поправка: На диск В ФАЙЛ записывается массив строк как один компонент. Считать из файла каждую строку поочередною. Найти во всех строках первые по порядку слова с максимальным количеством символов и записать эти слова в отдельный файл.

Ну это вроде одно и тоже ведь, да? Вы мужики головастые, помогите, задачу девчонке задали...
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
28.03.2010, 08:23 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
uses crt;
const size=100;//макс размер массива
type mas=array[1..size] of string;//тип строковый массив
     fail=file of mas;//тип файла строковых массивов
procedure Slovo(s:string; var s1:string);//процедура нахождения макс слова
var mx,nmx,i,n,k:byte;
begin
s:=s+' ';//добавим пробел
mx:=0;nmx:=1;
i:=1;
while i<=length(s)do//пока не конец строки
if s[i]<>' ' then//если не пробел
 begin
  n:=i;k:=1;//смотрим это слово
  while s[n+k]<>' 'do//до следующего пробела
  k:=k+1;//по 1 символу
  if k>mx then//дошли до пробела, и если длиннее всех
    begin
     mx:=k;//макс длина
     nmx:=n;//номер индекса начала слова
    end;
  i:=i+k+1;//перепрыгиваем через это слово
 end
else i:=i+1;//иначе просто вперед
s1:=copy(s,nmx,mx);//копируем с позиции начала слова символы по его длине
end;
var f:fail;
    g:file of string;
    a:mas;
    sl:string;
    n,i:byte;
begin
clrscr;
assign(f,'massiv');
rewrite(f);
assign(g,'slova');
rewrite(g);
repeat
write('Размер массива до ',size,' n=');
readln(n);
until n in [1..size];
writeln('Создайте массив из ',n,' строк:');
for i:=1 to n do
 begin
  writeln('Строка ',i);
  readln(a[i]);
 end;
write(f,a);
clrscr;
writeln('Содержание файла массивов:');
reset(f);
read(f,a);
for i:=1 to n do
 begin
  writeln(a[i]);
  Slovo(a[i],sl);
  write(g,sl);
 end;
close(f);
writeln('Содержание файла максимальных слов:');
reset(g);
while not eof(g) do
 begin
  read(g,sl);
  write(sl,' ');
 end;
close(g);
readln
end.
0
1 / 1 / 0
Регистрация: 27.03.2010
Сообщений: 10
28.03.2010, 17:26  [ТС] 5
НЕ работает, пишет
[Error] lab.dpr(6): Type 'mas' needs finalization - not allowed in file type
[Error] lab.dpr(30): Type 'String' needs finalization - not allowed in file type
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
28.03.2010, 17:38 6
DoctorUJin, А ты в чем пишешь? Это для Турбо Паскаль.
0
1 / 1 / 0
Регистрация: 27.03.2010
Сообщений: 10
28.03.2010, 17:40  [ТС] 7
Delphi 7, console application
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
28.03.2010, 18:06 8
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

DoctorUJin, Если пишешь в Делфи, туда и обращайся и нечего мозги конопатить, если настолько глуп, что сам переписать не можешь.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
const size=100;//макс размер массива
type stroka=string[255];
mas=array[1..size] of stroka;//тип строковый массив
procedure Slovo(s:stroka; var s1:stroka);//процедура нахождения макс слова
var mx,nmx,i,n,k:byte;
begin
s:=s+' ';//добавим пробел
mx:=0;nmx:=1;
i:=1;
while i<=length(s)do//пока не конец строки
if s[i]<>' ' then//если не пробел
 begin
  n:=i;k:=1;//смотрим это слово
  while s[n+k]<>' 'do//до следующего пробела
  k:=k+1;//по 1 символу
  if k>mx then//дошли до пробела, и если длиннее всех
    begin
     mx:=k;//макс длина
     nmx:=n;//номер индекса начала слова
    end;
  i:=i+k+1;//перепрыгиваем через это слово
 end
else i:=i+1;//иначе просто вперед
s1:=copy(s,nmx,mx);//копируем с позиции начала слова символы по его длине
end;
var f:file of mas;
    g:file of stroka;
    a:mas;
    sl:stroka;
    n,i:byte;
begin
assignfile(f,'massiv');
rewrite(f);
assignfile(g,'slova');
rewrite(g);
repeat
write('Размер массива до ',size,' n=');
readln(n);
until n in [1..size];
writeln('Создайте массив из ',n,' строк:');
for i:=1 to n do
 begin
  writeln('Строка ',i);
  readln(a[i]);
 end;
write(f,a);
writeln('Содержание файла массивов:');
reset(f);
read(f,a);
for i:=1 to n do
 begin
  writeln(a[i]);
  Slovo(a[i],sl);
  write(g,sl);
 end;
closefile(f);
writeln('Содержание файла максимальных слов:');
reset(g);
while not eof(g) do
 begin
  read(g,sl);
  write(sl,' ');
 end;
closefile(g);
readln
end.
0
28.03.2010, 18:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2010, 18:06
Помогаю со студенческими работами здесь

Обменять слова с максимальным и минимальным количеством букв «а»
Привет! Выручайте! Необходимо обменять слова с максимальным и минимальным количеством букв &quot;а&quot;....

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

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

Замена слова с максимальным количеством гласных на символ '*'
Помогите с решением задачи Отредактировать заданный текстовый файл, заменив в нем слова,...


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

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