X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Знающим паскаль, помощь требуется..
Imperial
Imperial
Topic Starter сообщение 29.4.2009, 21:28; Ответить: Imperial
Сообщение #1


Здравствуйте!!
Кто знает паскаль, можете помочь?

Задача: Составить программу для подсчёта одинаковых букв, стоящих на одних и тех же местах в словах x и y.

Заранее спасибо!!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
darkRoma
darkRoma
сообщение 29.4.2009, 21:41; Ответить: darkRoma
Сообщение #2


Вот кусок программы, которую я писал. Она немного отличается. она решает такую задачу: "Вводим слово S1. Далее кусок S2 из слова S1. Вводим S3. Программа заменяет в слове с1, кусок с2 на значение введённое в с3".

Может поможет чем-то:
program s1replace;
var
s1,s2,s3,sw:string;
l2,k:longint;
begin
readln(s1);
readln(s2);
readln(s3);
l2:=length(s2);
sw:=s1;
while pos(s2,sw)>0 do
begin
k:=pos(s2,sw);
delete(sw,k,l2);
insert(s3,sw,k);
end;
writeln(sw);
end.

--------------------------------------
Составить программу для подсчёта одинаковых букв, стоящих на одних и тех же местах в словах x и y.

Всмысле, если буква стоит на второй позиции в слове х и в слове у, уеличиваем счётчик на 1?

P.S. Сейчас попробую написать.

Сообщение отредактировал darkRoma - 29.4.2009, 21:48


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Imperial
Imperial
Topic Starter сообщение 29.4.2009, 21:49; Ответить: Imperial
Сообщение #3


(darkRoma @ 29.4.2009, 20:41) *
Всмысле, если буква стоит на второй позиции в слове х и в слове у, уеличиваем счётчик на 1?

Да, именно так.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Boxster
Boxster
сообщение 29.4.2009, 21:52; Ответить: Boxster
Сообщение #4


Сейчас попробую что-нибудь написать sleep.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Boxster
Boxster
сообщение 29.4.2009, 22:01; Ответить: Boxster
Сообщение #5


program exe;
uses crt;
var i,l,k: integer;
    x,y: string;
begin
clrscr;
writeln('Vvedite X i Y');
readln(x,y);
if length(x) < length(y) then l:=length(x) else l:=length(y)
for i:=1 to l do
if copy(x,i,1)=copy(y,i,1) then k:=k+1;
writeln('4islo sovpadayushix bykv=',k);
readln;
end.


Пока не проверил, сейчас скачаю паскаль для проверки...

Сообщение отредактировал Boxster - 29.4.2009, 22:07
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
darkRoma
darkRoma
сообщение 29.4.2009, 22:07; Ответить: darkRoma
Сообщение #6


(Boxster @ 29.4.2009, 21:01) *
program exe;
uses crt;
var i,l,k: integer;
    x,y: string;
begin
clrscr;
writeln('Vvedite X i Y');
readln(x,y);
if length(x) > length(y) then l:=length(x) else l:=length(y)
for i:=1 to l do
if copy(x,i,1)=copy(y,i,1) then k:=k+1;
writeln('4islo sovpadayushix bykv=',k);
readln;
end.


Пока не проверил, сейчас скачаю паскаль для проверки...


Не работает. Всегда выдаёт 0. За что отвечает комманда copy(x,i,1) ?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Boxster
Boxster
сообщение 29.4.2009, 22:09; Ответить: Boxster
Сообщение #7


Копирование из строки X, с порядкого номера i 1 символ
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
darkRoma
darkRoma
сообщение 29.4.2009, 22:18; Ответить: darkRoma
Сообщение #8


(Boxster @ 29.4.2009, 21:09) *
Копирование из строки X, с порядкого номера i 1 символ

Тогда по идее такой код:
var i,l,k: integer;
x,y,a,b: string;


begin
writeln('Vvedite X i Y');
readln(x,y);
if (length(x))>=(length(y))
then l:=length(x)
else l:=length(y);
for i:=1 to l do
begin
a:=copy(x,i,1);
b:=copy(y,i,1);
if a=b then inc(k);
end;
writeln('4islo sovpadayushix bykv=',k);
readln;
end.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Boxster
Boxster
сообщение 29.4.2009, 22:21; Ответить: Boxster
Сообщение #9


Хм, у меня при выполнении вообще какая-то фигня, readln(x,y) считает за один как будто, после ввода одного значения идёт сразу же выполнение следующей части, что странно...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Boxster
Boxster
сообщение 29.4.2009, 22:22; Ответить: Boxster
Сообщение #10


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

program exe;
uses crt;
var i,l,k: integer;
    x,y: string;
begin
clrscr;
writeln('Vvedite X i Y');
readln(x);
readln(y);
if length(x) < length(y) then l:=length(x) else l:=length(y)
for i:=1 to l do
if copy(x,i,1)=copy(y,i,1) then k:=k+1;
writeln('4islo sovpadayushix bykv=',k);
readln;
end.


Так у меня заработало!


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Ищу работу: php+SQL, html, CSS, JavaScript, C++, Делфи, Паскаль...
Дёшево, срочно
3 WebsProject 2619 6.11.2009, 7:35
автор: viktiv
Открытая тема (нет новых ответов) Ищу работу: php+SQL, html, CSS, JavaScript, C++, Делфи, Паскаль... Дёшево, срочно
12 WebSGo 8201 8.2.2009, 0:40
автор: -NikaM-
Открытая тема (нет новых ответов) Ищу работу: php+SQL, html, CSS, JavaScript, C++, Делфи, Паскаль...
Дёшево, срочно
1 CyberX 2406 30.10.2008, 15:16
автор: CyberX


 



RSS Текстовая версия Сейчас: 16.4.2024, 9:49
Дизайн