|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.05.2008, 23:49 | #1 |
Пользователь
Регистрация: 09.02.2008
Сообщений: 38
|
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй
вот код проги:
program LAb5_brig2; uses crt; const LabText = 'c:\textlab5.txt'; {__________________PROCEDURA CHTENI9____________________________ } Procedure Chtenie(var Fname:text; str1:string; str2:string); Begin Assign(fname, labText); Reset(Fname); Readln(Fname, str1); Readln(Fname, str2); close(fname); Writeln ('Perva9 stroka: ', str1); Writeln ('Vtora9 stroka: ', str2); writeln; end; {_____________PERVA9 PROCEDURA__________________________ __} Procedure Otlichie(Str1:string; str2:string; N:integer; K:integer); var i,j:integer; begin while (i>=1) and (i<=N) do begin while (j>=1) and(j<=K) do begin if str1[i]<>str2[j] then write ('another symb', str1[i], ' '); i:=i+1; j:=j+1; end; end; end; {______________________} Var Str1,str2:string; N,K:integer; Fname:text; Begin Clrscr; Chtenie(Fname,str1,str2); writeln; N:=length(str1); K:=Length(str2); Otlichie(str1,str2,N,K); readln; end. прога должна считывать из файла две строки, выводить их на экран и символы первой строки, которые отсутствуют во второй строке...что то не пашет... файл со строками выглядит так: 1s4f b12sa ascxaasdadq В чем дело? |
06.05.2008, 08:07 | #2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Procedure Chtenie(var Fname:text; var str1, str2:string);
В процедуре Otlichie нет инициализации переменных, счетчик увеличивается не в том месте, проверка сделана неправильно - короче проще переписать заново. Продумайте алгоритм еще раз. |
06.05.2008, 22:50 | #3 | |
Пользователь
Регистрация: 09.02.2008
Сообщений: 38
|
Цитата:
вот код: program LAb5_brig2; uses crt; const LabText = 'c:\textlab5.txt'; {__________________PROCEDURA CHTENI9____________________________ } Procedure Chtenie(var Fname:text; var str1,str2:string); Begin Assign(fname, labText); Reset(Fname); Readln(Fname, str1); Readln(Fname, str2); close(fname); Writeln ('Perva9 stroka: ', str1); Writeln ('Vtora9 stroka: ', str2); writeln; end; {_____________PERVA9 PROCEDURA__________________________ __} Procedure Otlichie(Str1:string; str2:string; N:integer; K:integer); var i,j,t:integer; begin i:=1; j:=1; while (i>=1) and (i<=N) do begin while (j>=1) and (j<=K) do begin if str1[i]=str2[j] then begin i:=i+1; j:=j+1; end else begin write(str1[i], ' '); i:=i+1; j:=j+1; end; end; end; end; {______________________} Var str1,str2:string; N,K:integer; Fname:text; Begin Clrscr; Chtenie(Fname,str1,str2); writeln; N:=length(str1); K:=Length(str2); Otlichie(str1,str2,N,K); readln; end. файл со строками выглядит так: 1s4fb12sa ascxaasda ----------------------- может кто поможет с алгоритмом, а то меня зациклило...тупая задача, а решить не могу(( |
|
07.05.2008, 08:23 | #4 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Код:
|
|
08.05.2008, 02:27 | #5 | |
Пользователь
Регистрация: 09.02.2008
Сообщений: 38
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как считать строки? | Черничный | Общие вопросы Delphi | 14 | 01.09.2008 14:56 |
Символы и строки. Нужна помощь | insi | Фриланс | 6 | 24.05.2008 20:54 |
Как вывести из текстового файла на экран русский текст? | Mischa | Помощь студентам | 8 | 12.03.2008 06:23 |
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. | vitalik007 | Помощь студентам | 1 | 25.09.2007 20:45 |