1 / 1 / 7
Регистрация: 04.12.2017
Сообщений: 74
1

Дан текстовый файл, содержащий строки. Напечатать слова в порядке убывания

04.12.2017, 19:20. Показов 1309. Ответов 6
Метки нет (Все метки)

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

Дан текстовый файл, содержащий строки. Вывести все слова, каждое с новой строки
Дан текстовый файл, содержащий строки. Вывести все слова, каждое с новой строки

Дан текстовый файл, содержащий строки. Исключить из файла слова begin и end
Дан текстовый файл, содержащий строки. Исключить из файла слова begin и end. Окно работающего...

Дан текстовый файл, содержащий строки. В каждой строке вывести слова, которые повторяются
Дан текстовый файл, содержащий строки. В каждой строке вывести слова, которые повторяются

Дан текстовый файл, содержащий строки. Вывести все слова в строке, которые содержат менее 4-х символов
Дан текстовый файл, содержащий строки. Вывести все слова в строке, которые содержат менее 4-х...

6
Эксперт Pascal/Delphi
6811 / 4568 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
04.12.2017, 19:36 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
46
47
function StrSort(s: string): string;
var
  sl: string;
  A: array[1..64] of string;//массив строк, для хранения слов
  n, i, j: byte;
begin
  s := s + ' ';
  n := 0;
  while Pos(' ', s) > 0 do
  begin
    if Copy(s, 1, Pos(' ', s) - 1) <> '' then 
    begin
      inc(n);
      A[n] := Copy(s, 1, Pos(' ', s) - 1);
    end;
    Delete(s, 1, Pos(' ', s));
  end;
  for i := n downto 2 do
    for j := 2 to i do
      if A[j] > A[j - 1] then
      begin
        sl := A[j];
        A[j] := A[j - 1];
        A[j - 1] := sl;
      end;
  for i := 1 to n do
    s := s + A[i] + ' ';
  strsort := s;    
end;
 
var
  s: string;
  f: text;
 
begin
  assign(f, 'example.txt');
  reset(f);
  while not eof(f) do
  begin
    writeln('Исходная строка: ');
    readln(f, s);
    writeln(s);
    writeln('Отсортированная строка: ');
    writeln(strsort(s));
  end;
  close(f);
end.
0
1 / 1 / 7
Регистрация: 04.12.2017
Сообщений: 74
04.12.2017, 21:10  [ТС] 3
Спасибо, но, к сожалению, программа работает неправильно
0
Эксперт Pascal/Delphi
6811 / 4568 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
04.12.2017, 21:14 4
Цитата Сообщение от dim10102806 Посмотреть сообщение
программа работает неправильно
Да ну?
Миниатюры
Дан текстовый файл, содержащий строки. Напечатать слова в порядке убывания  
0
1 / 1 / 7
Регистрация: 04.12.2017
Сообщений: 74
04.12.2017, 22:45  [ТС] 5
В картинке, которую вы скидывали, неправильно переворачивается вторая строка

Добавлено через 39 минут
Спасибо, я исправил ваш код, вот правильный код
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
function StrSort(s: string): string;
var
  sl: string;
  A: array[1..64] of string;//массив строк, для хранения слов
  n, i, j: byte;
begin
  s := s + ' ';
  n := 0;
  while Pos(' ', s) > 0 do
  begin
    if Copy(s, 1, Pos(' ', s) - 1) <> '' then 
    begin
      inc(n);
      A[n] := Copy(s, 1, Pos(' ', s) - 1);
    end;
    Delete(s, 1, Pos(' ', s));
  end;
  for i := n downto 1 do
    s := s + A[i] + ' ';
  strsort := s;    
end;
var
  s: string;
  f: text;
 
begin
  assign(f, 't1.txt');
  reset(f);
  while not eof(f) do
  begin
    writeln('Исходная строка: ');
    readln(f, s);
    writeln(s);
    writeln('Отсортированная строка: ');
    writeln(strsort(s));
  end;
  close(f);
end.
1
Эксперт Pascal/Delphi
6811 / 4568 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
05.12.2017, 07:58 6
Цитата Сообщение от dim10102806 Посмотреть сообщение
неправильно переворачивается вторая строка
Да правильно, просто заглавные идут позже.
Цитата Сообщение от dim10102806 Посмотреть сообщение
вот правильный код
Рад за вас.
0
1 / 1 / 7
Регистрация: 04.12.2017
Сообщений: 74
10.12.2017, 13:33  [ТС] 7
Тот код был неправильный, вот правильный
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
var f:text;
s:string;
function StrSort(s:string):string;
var A:array [1..100] of string;
s1:string;
i,n,n1:integer;
begin
s:=s+' ';
n1:=length(s);
n:=0;
i:=1;
while (i<=n1) do begin
  s1:='';
  while (s[i]<>' ') do begin
    s1:=s1+s[i];
    i:=i+1;
  end;
  if (s1<>'') then begin
    n:=n+1;
    A[n]:=s1;
  end;
  i:=i+1;
end;
s:='';
for i:=n downto 1 do
  s:=s+A[i]+' ';
  strsort:=s;    
end;
begin
assign(f, 't1.txt');
reset(f);
while not eof(f) do begin
  readln (f,s);
  writeln(strsort(s));
end;
close(f);
end.
0
10.12.2017, 13:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2017, 13:33
Помогаю со студенческими работами здесь

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

Дан файл вещественных чисел. Создать файл целых чисел, содержащий номера всех локальных экстремумов исходного файла в порядке убывания
File22. Дан файл вещественных чисел. Создать файл целых чисел, содержащий номера всех локальных...

Паскаль.Дан текстовый файл, содержащий слова одного языка
интересно как это понимать ? . условие такое : Выбрать из текстового файла все разные слова и...

Дан текстовый файл, содержащий вещественные числа (положительные и отрицательные) в произвольном порядке
Дан текстовый файл, содержащий вещественные числа (положительные и отрицательные) в произвольном...


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

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

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