Вивведення масиву OutputData
3.4 Видалення слів DeleteWords
4. Код програми: Program lab3_1; var s, {first string} st, {second string is searching in first} str: string; {result string} {-------------InputData-------------------} procedure InputData; {Input strings} begin writeln('Result of lab3_1'); {task of lab} writeln('Variant 5, made by Znakhurenko Viktoriya'); writeln('Deleting words from second string that meet in first one.'); writeln('Enter first srting '); readln(s); {string which words are deleting} writeln('Enter second srting '); readln(st); {string in which deleting words from s} end; {end of InputData} {-------------DeleteWords-----------------} function DeleteWords(s1,str:string):string; {s1-string which word delete in str} var posst, {start position of word} posend, {end position of word} tmppos:integer; {begin position of word from strcur in str string} strcur:string; {current word which looks in str} fl:boolean; {flag that check last word in s1 string} begin repeat fl:=true; {definition of flag} posst:=1; {first definition} posend:=pos(' ',s1)-1; {finding first ' ' in string} if(pos(' ',s1)=0) then {checking last word in string} begin posend:=length(s1); {length of this word is the same as the s1 string} fl:=false; {change flag value} end; {end of if} strcur:=copy(s1,posst,posend-posst+1); {copy word from s1 string in strcur} delete(s1,posst,length(strcur)+1); {detele this word from s1} while pos(strcur,str)<>0 do {cycle finding current word from s1 in str string} begin tmppos:=pos(strcur,str); {start position this word} delete(str,tmppos-1,length(strcur)+1);{delete this word from str} end; {end of while} until fl=false; {condition exit deleting cycle} DeleteWords:=str; {definition function} end; {end of DeleteWords} {--------------------OutputData-----------------------------} procedure OutputData; {Ouputting result} begin writeln('Deleting words from string '); writeln(st); {string in which deleting words from s } writeln('in this string '); writeln(s); {string which words are deleting} writeln('Result= ',str); {Get string} end; {end of OutputData} {------------Main program-----------------} begin InputData; {Input strings} str:=DeleteWords(st,s); {DeleteWords, where s-string in which delete words contained in string st} OutputData; {str-result string} end.
5. Screen Shot результатів
6. Аналіз роботи Як ми бачимо зі ScreenShot’ів, ми ввели 3 варіанти даних. Введення першого рядка,з якого будуть видалятися слова, та другого рядка слів, що видалятимуться. 1. З рядочка “hello people how are you what news do you have” видаляємо слова з “hello how you” та отримуємо результат “people are what news do have”. 2. Якщо у рядку, слова з якого видаляються, не містить слів другого рядка або цей він порожній, то рядок залишається незмінним. 3. Якщо другий рядок містить всі слова, які є в першому, то результатом буде порожній рядок, тому що всі слова видаляються.
|