С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 42
1

Напечатать в алфавитном порядке все слова из данного файла, имеющую заданную длину n

29.12.2011, 21:43. Показов 3160. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан текстовый файл. Напечатать в алфавитном порядке все слова из данного файла, имеющую заданную длину n.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2011, 21:43
Ответы с готовыми решениями:

Напечатать в алфавитном порядке все слова имеющие заданную длину n
1. дана строка. напечатать в алфавитном порядке все слова имеющие заданную длину n

Напечатать в алфавитном порядке все слова из заданной строки, имеющие заданную длину n
Пожалуйста, напишите программу по следующей задаче: Дана строка . Напечатать в алфавитном...

Напечатать в алфавитном порядке все слова из данной строки, имеющие заданную длину n
Всем доброго времени помогите пожалуйста выполнить задние через тип String и Класс StringBuilder:...

Напечатать в алфавитном порядке все слова из данной строки, имеющие заданную длину n
Здравстуйте, если не сложно помогите пожалуйста написать программу. Составить программу, которая...

3
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
29.12.2011, 22:01 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
uses crt;
var
 s,sl:string;
 f:text;
 i,n,j,k: integer;
 a: array [1..100] of string;
 begin
 write('Задайте длину ');
 readln(n);
 assign(f,'C:\in.txt');
 reset(f);
 j:=1;
 while not (Eof(f)) do
       begin
       readln(f,s);
       s:=s+' ';
       sl:='';
       for i:=1 to length(s) do
           if (s[i]<>' ') and (s[i]<>',') and (s[i]<>'.') then sl:=sl+s[i] else
              begin
              if length(sl)=n then
                 begin
                 inc(j);
                 a[j]:=sl;
                 end;
              sl:='';
              end;
       end;
 close(f);
 k:=0;
 while k<=j do
       begin
       for i:=1 to j-1 do
           if a[i][1]>a[i+1][1] then
              begin
              sl:=a[i];
              a[i]:=a[i+1];
              a[i+1]:=sl;
              end;
       inc(k);
       end;
 for i:=1 to j do
     write(a[i],' ');
 readln;
 end.
в этом варианте прописные буквы и строчные рассматриваются как две разные группы. если надо по другому - намекни
1
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 42
30.12.2011, 07:32  [ТС] 3
да, можно пожалуйста по другому
0
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
30.12.2011, 09:32 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
 uses crt;
 var
 s,sl,sp,ss:string;
 f:text;
 i,n,j,k: integer;
 a: array [1..100] of string;
 begin
 write('Çàäàéòå äëèíó ');
 readln(n);
 assign(f,'D:\in.txt');
 reset(f);
 j:=1;
 sp:='QWERTYUIOPASDFGHJKLZXCVBNM¨ÉÖÓÊÅÍÃØÙÇÕÚÔÛÂÀÏÐÎËÄÆÝß×ÑÌÈÒÜÁÞ';
 ss:='qwertyuiopasdfghjklzxcvbnm¸éöóêåíãøùçõúôûâàïðîëäæýÿ÷ñìèòüáþ';
 while not (Eof(f)) do
       begin
       readln(f,s);
       s:=s+' ';
       sl:='';
       for i:=1 to length(s) do
           begin
           if pos(s[i],sp)<>0 then s[i]:=ss[pos(s[i],sp)];
           if (s[i]<>' ') and (s[i]<>',') and (s[i]<>'.') then sl:=sl+s[i] else
              begin
              if length(sl)=n then
                 begin
                 inc(j);
                 a[j]:=sl;
                 end;
              sl:='';
              end;
           end;
       end;
 close(f);
 k:=0;
 while k<=j do
       begin
       for i:=1 to j-1 do
           begin
           if a[i][1]>a[i+1][1] then
              begin
              sl:=a[i];
              a[i]:=a[i+1];
              a[i+1]:=sl;
              end;
           end;
       inc(k);
       end;
 for i:=1 to j do
     write(a[i],' ');
 readln;
 end.
есть и другой вариант, но он громоздкий, к вечеру, может, будет...
1
30.12.2011, 09:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.12.2011, 09:32
Помогаю со студенческими работами здесь

Напечатать в алфавитном порядке все слова длиной n из данного файла
Помогите пожалуйста решить задачу на языке Visual Basic 6.0 : Дан текстовый файл. Напечатать в...

Напечатать в алфавитном порядке все слова из заданного файла, имеющие длину n
Ребята....изменили мне задание......пожалуйста кому не трудно написать программку. Задание: Дан...

Из текстового файла напечатать в алфавитном порядке все слова длинной N.
Дан текстовый файл. Напечатать в алфавитном порядке все слова из данного файла, имеющие заданную...

Переписать в алфавитном порядке все слова из заданного файла, имеющие длину n, в другой файл.
Разобрать программу &quot;Сортировка по алфавиту&quot;.Дан текстовый файл. Переписать в алфавитном порядке...


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

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