Помогите написать программу сравнения двух строк, Строки |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Помогите написать программу сравнения двух строк, Строки |
Alexa911 |
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Женский Реальное имя: Александра Репутация: 0 |
Помогите, пожалуйста, написать программу сравнения двух строк. Программа должна читать строки из файла и сравнивать нечетные и четные строки, которые следуют друг за другом. Я уже ломаю голову как оформить текст программы, но ничего не получается.
|
Федосеев Павел |
Сообщение
#2
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
А что уже получилось?
|
Alexa911 |
Сообщение
#3
|
Группа: Пользователи Сообщений: 2 Пол: Женский Реальное имя: Александра Репутация: 0 |
не поняла вопрос?
|
Федосеев Павел |
Сообщение
#4
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
|
bel100 |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Юрий Репутация: 0 |
Я уже ломаю голову как оформить текст программы, но ничего не получается. Кроме ломания, должны существовать какие либо следы научной деятельности. Например, наброски кода. var s1,s2,sn:string; a,b,i,n:integer; s:array[1..255] of integer; input,output:text; begin assign(input,'input.txt'); reset(input); n:=1; for i:=1 to n do n:=n+1; writeln(n); readln(input,s1); readln(input,s2); if n mod 2 = 0 then writeln('Строка 1 чётная'); if n mod 2 = 1 then writeln('Строка 1 не чётная'); a:=length(s1); b:=length(s2); close(input); writeln(a); writeln(b); if a > b then writeln('Строка 1 больше строки 2'); if a < b then writeln('Строка 1 меньше строки 2'); if a = b then writeln('Строка 1 равна строке 2'); end. То же не получается полностью выполнить условия задачи: 1) Как пронумеровать и подсчитать количество строк в тексте? 2) Как разбить строки на пары? Заранее благодарен тому кто сможет разжевать! |
Федосеев Павел |
Сообщение
#6
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
Чтение из файла производится циклом while, т.к. заранее неизвестно количество строк.
Цикл for при инициализации определяет количество итераций и дальнейшее увеличение n в теле цикла уже не приводит к увеличению итераций. Это поведение прописано в стандарте Pascal. Я не понимаю, какие строки должны сравниваться. Вот сравнили 1-ю и 2-ю, следом нужно сравнивать 2-ю и 3-ю или же 3-ю и 4-ю? Если просто сравнивать строку с предыдущей, и сравнение выполнять по длине строки, то можно так program CmpStr; |
bel100 |
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Юрий Репутация: 0 |
Спасибо за подсказку(по поводу цикла while), сравнивать нужно первую и вторую, третью и четвёртую и так далее пока не кончатся строки (общее количество неизвестно, зависит от документа( в идеале должен считать любой текстовый документ).
var s1,s2:string; a,b,i,n:integer; input,output:text; begin assign(input,'input.txt'); reset(input); n:=0; while not eof(input) do for i:=1 to n do readln(input,s2); readln(input,s1); a:=length(s1); b:=length(s2); close(input); writeln(a); writeln(b); if a > b then writeln('Строка 1 больше строки 2'); if a < b then writeln('Строка 1 меньше строки 2'); if a = b then writeln('Строка 1 равна строке 2'); assign(output,'output.csv'); rewrite(output); end. Сообщение отредактировано: bel100 - |
Текстовая версия | 29.03.2024 6:24 |