Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 03.09.2015
Сообщений: 3

Из исходного файла вывести нужные строки из 3-его параметра в текстовый файл 2

06.10.2015, 18:08. Показов 816. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Из исходного(paramstr(1)) файла вывести нужные строки из 3-его параметра(paramstr(3)) в текстовый файл 2(Paramstr(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
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
uses crt;
 
var f:text;
    f1:text;
    name:string[80];
    min_name:string[80];
    i,i1, code_1, code_2,t: integer;
    s: string;
 
 
Begin
clrscr;
 
If ParamCount = 0 then
  WriteLn('Not parametrs');
if (ParamCount>3) or (ParamCount<1) then
  begin
    writeln('Enter new parametrs');
    readln;
  end
else
 
begin
 
for i:=0 to paramcount do
  writeln(i,' parametr: ',paramstr(i));
 
begin
  val(paramstr(3),code_1,code_2);
  if code_2<>0 then
    begin
      writeln('parametr 3 ne chislo');
      halt;
    end
    else
  assign(f, ParamStr(1));
  {$i-}
  reset(f);
  {$i+}
  if IOResult<>0 then
    begin
      writeln('File not open');
      readln;
      halt;
    end
  else
 
  i:=0;
  writeln;
 
  Assign(f1, ParamStr(2));
  rewrite(f1);
  {$i-}
  reset(f1);
  {$i+}
  if IOResult<>0 then
    begin
      writeln('File not open');
      readln;
      halt;
    end
  else
 
  s:=paramstr(3);
 
  while not eof(f) do
  begin
    readln(f, name);
    writeln(name);
    i:=i+1;
      if (i=s) then
        append(f1);
        write(f1,name);
  end;
 
  while not eof(f1) do
  begin
    readln(f1,name);
    writeln(name);
  end;
 
  close(f1);
  close(f);
 
  end;
  readln;
  end;
end.
Помогите с программой, она не делает то что должна..
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.10.2015, 18:08
Ответы с готовыми решениями:

Дан текстовый файл. Используя очередь, вывести на экран все строки исходного файла, начинающиеся с символа (*) в том же порядке.
SOS!!! Задача 1. Дан текстовый файл. Используя очередь, вывести на экран все строки исходного файла, начинающиеся с символа (*) в том...

Написать программу, которая по указанному в качестве параметра в командной строке файлу создаёт текстовый файл, содержащий листинг исходного файла
Очень нужно написать программу на c++, а я даже условие не до конца понимаю! Буду очень благодарен за помощь в написании! Она не должна...

Дан текстовый файл. Записать в отдельный файл все симметричные строки исходного файла, являющиеся отдельными предложения
Работа с файлами и строками,если можно,то напишите код,а если можно,то ещё с объяснениями

1
CAPITAL OF ROCK!
 Аватар для JokeR.BY
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
06.10.2015, 21:41
Если я правильно задание понял...
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
uses
    Crt;
type
    TArray = Array Of Word;
function CheckForInclude(const ar: TArray; const x: Word): Boolean;
var
    Result: Boolean;
    i: Word;
begin
    Result := False;
    if (Length(ar) > 0)
    then
    begin
        i := 0;
        while ((Not Result) And (i < Length(ar))) do
        begin
            Result := ar[i] = x;
            Inc(i);
        end;
    end;
    CheckForInclude := Result;
end;
procedure ReadLineNumbers(var f: Text; var ar: TArray);
var
    fi: Word;
begin
    ReSet(f); SetLength(ar, 0);
    while (Not EoF(f)) do
    begin
        ReadLn(f, fi);
        if (Not CheckForInclude(ar, fi))
        then
        begin
            SetLength(ar, Length(ar) + 1);
            ar[Length(ar) - 1] := fi;
        end;
    end;
    Close(f);
end;
procedure ReadLinesFromFtoG(var f, g: Text; const ar: TArray);
var
    s: String;
    i: Word;
begin
    i := 0;
    ReSet(f); ReWrite(g);
    while (Not EoF(f)) do
    begin
        ReadLn(f, s);
        Inc(i);
        if (CheckForInclude(ar, i))
        then
            WriteLn(g, s);
    end;
    Close(f); Close(g);
end;
procedure Main();
var
    ar: TArray;
    f, g, h: Text;
begin
    Assign(f, paramstr(1));
    Assign(g, paramstr(2));
    Assign(h, paramstr(3));
    ReadLineNumbers(h, ar);
    ReadLinesFromFtoG(f, g, ar);
end;
begin
    ClrScr;
    if (ParamCount <> 3)
    then
        WriteLn('ERROR! Not enough or too much parameters!')
    else
        Main();
end.
Добавлено через 3 минуты
С использованием множеств
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;
type
    TSet = Set Of Byte;
procedure ReadLineNumbers(var f: Text; var ar: TSet);
var
    fi: Byte;
begin
    ReSet(f); ar := [];
    while (Not EoF(f)) do
    begin
        ReadLn(f, fi);
        Include(ar, fi);
    end;
    Close(f);
end;
procedure ReadLinesFromFtoG(var f, g: Text; const ar: TSet);
var
    s: String;
    i: Byte;
begin
    i := 0;
    ReSet(f); ReWrite(g);
    while (Not EoF(f)) do
    begin
        ReadLn(f, s);
        Inc(i);
        if (i in ar)
        then
            WriteLn(g, s);
    end;
    Close(f); Close(g);
end;
procedure Main();
var
    ar: TSet;
    f, g, h: Text;
begin
    Assign(f, paramstr(1));
    Assign(g, paramstr(2));
    Assign(h, paramstr(3));
    ReadLineNumbers(h, ar);
    ReadLinesFromFtoG(f, g, ar);
end;
begin
    ClrScr;
    if (ParamCount <> 3)
    then
        WriteLn('ERROR! Not enough or too much parameters!')
    else
        Main();
end.


Добавлено через 3 минуты
первый параметр - файл из которого копируем.
второй параметр - файл, в который копируем.
третий параметр - файл вида
Code
1
2
3
4
5
1
2
3
4
...
каждое число в котором обозначает строку, которую необходимо скопировать.

Добавлено через 21 секунду
во всяком случае я так понял задание...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.10.2015, 21:41
Помогаю со студенческими работами здесь

Записать в новый текстовый файл последнее слово каждой строки исходного файла
мне дана задача: Записать в новый текстовый файл последнее слово каждой строки исходного файла. Я составил программу но сам цикл не идет...

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

Создать новый текстовый файл, записав в него перевернутые строки исходного файла
дан текстовый файл.создать новый текстовый файл,записав в него перевернутые строки исходного файла: для каждой строки символы в новом файле...

Сформировать текстовый файл, содержащий строки исходного файла, встречающиеся в нем один раз
Сформировать текстовый файл, содержащий строки исходного файла, встречающиеся в нем один раз. Вывести содержимое файлов на экран. В...

Создать новый текстовый файл и записать в него строки исходного файла, заканчивающиеся на заданную букву
Создать исходный текстовый файл (Блокнот), содержащий любой текст. Написать программу, которая создает новый текстовый файл и записывает в...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru