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

Переписать содержимое исходного текстового файла в файл-результат_1

04.01.2016, 15:43. Показов 1437. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Напишите программу, которая переписывает содержимого исходного текстового файла в
файл-результат, но во всех словах, имеющих нечетную длину, удаляет среднюю букву.
Длина слова не превышает 50 символов. Под словом понимается любая последователь-
ность символов, не включающая пробелы и переходы на новые строки.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.01.2016, 15:43
Ответы с готовыми решениями:

Переписать содержимое исходного текстового файла в файл-результат_2
Напишите программу, которая переписывает содержимого исходного текстового файла в файл-результат,...

Переписать в текстовый файл т1 содержимое текстового файла т2 но без пустых строк
написать программу которая переписывает в текстовый файл т1 содержимое текстового файла т2 но без...

Содержимое текстового файла ƒ, разделенное на строки, переписать в текстовый файл g
Используя очередь, решить следующую задачу. Содержимое текстового файла ƒ, разделенное на...

Переписать в текстовый файл t1 содержимое текстового файла t2 без пустых строк
Описать процедуру npuce(t1, t2), переписывающую в текстовый файл t1 содержимое текстового файла t2,...

1
52 / 10 / 12
Регистрация: 28.12.2015
Сообщений: 41
04.01.2016, 19:08 2
Лучший ответ Сообщение было отмечено оксана96 как решение

Решение

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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
program task;
type
    list = ^chain;
    chain = record
        item: char;
        next: list
    end;
var
    t1, t2: text;
    l: list;
    k, spacecount: integer;
    c: char;
    flag: boolean;
    
function makelist( var t: text; var l: list; 
    var spacecount: integer; flag: boolean ): integer;
{ Формирую список из букв слова. Значение функции - количество
  букв в слове. В переменной spacecount -  количество пробелов
  перед словом. В переменной flag - false, если указатель установлен
  на начало строки и true иначе }
var
    q: list;
    count: integer;
begin
    count := 0;
    if flag then
        if c = ' ' then spacecount := spacecount + 1;
    if not eoln( t ) then begin
        read( t, c );
        while ( c = ' ' ) and not eoln( t ) do begin
            read( t,c );
            spacecount := spacecount + 1;
        end;
        if c = ' ' then spacecount := spacecount + 1;
        if c <> ' ' then begin
            count := 1;
            new( l );
            l^.item := c;
            l^.next := nil;
            q := l;
            while not eoln( t ) and ( c <> ' ' )  do begin
                read( t, c );
                if c <> ' ' then begin
                    count := count + 1;
                    new( q^.next );
                    q := q^.next;
                    q^.item := c;
                    q^.next := nil
                end;
            end;
        end;
        makelist := count;
    end
    else
        makelist := 0;
end;
 
procedure writelisttofile( var t: text; l: list; k: integer );
{ Переписываю слово в файл t2 согласно условию }
var
    i: integer;
begin
    i := 1;
    if k mod 2 = 1 then begin
        while i < ( k + 1 ) div 2 do begin
            write( t, l^.item );
            l := l^.next;
            i := i + 1;
        end;
        i := i + 1;
        l := l^.next;
        while i <= k do begin
            write( t, l^.item );
            l := l^.next;
            i := i + 1;
        end;
    end
    else 
        while i <= k do begin
            write( t, l^.item );
            l := l^.next;
            i := i + 1;
        end;
end;
 
procedure writespace( var t: text; n: integer );
begin
    while n <> 0 do begin
        write( t, ' ' );
        n := n - 1;
    end;
end;
 
procedure deletelist( var l: list );
begin
    if l <> nil then begin
        deletelist( l^.next );
        dispose( l );
        l := nil;
    end;
end;
    
begin
assign( t1, 'u: t1.txt' );
assign( t2, 'u: t2.txt' );
reset( t1 );
rewrite( t2 );
l := nil;
spacecount := 0;
flag := false;
while not eof( t1 ) do begin
    k := makelist( t1, l, spacecount, flag );
    flag := true;
    writespace( t2, spacecount );
    writelisttofile( t2, l, k );
    deletelist( l );
    if eoln( t1 ) then begin
        flag := false;
        readln( t1 );
        writeln( t2 );
    end;
    spacecount := 0;
end;
writeln( 'Complete' );
close( t1 );
close( t2 );
end.
1
04.01.2016, 19:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.01.2016, 19:08
Помогаю со студенческими работами здесь

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

Очереди: Содержимое текстового файла переписать в новый файл, перенося цифры в конец строки
Здравствуйте! Используя очередь, решить следующую задачу. Содержимое текстового файла f,...

Из исходного текстового файла все повторяющиеся слова переписать в другой файл удалив их из исходного
из исходного текстового файла все повторяющиеся слова переписать в другой файл удалив их из...

Переписать содержимое текстового файла в новый файл
дан текстовый файл f, переписать содержимое в новый файл g.


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

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