Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Tatjanka
Помогите пожалуйста с решением последней задачи.

Дан массив знаков А(15). Найти есть ли в массиве пара одинаковых знаков. Сколько их.
в задаче должна быть строка стринг (или строковый массив - array[..] of char).
mithquessir
По-моему так:
const
n = 10;
var
a:array[1..n] of char;
i,j:integer;
begin
for i := 1 to 10 do
ReadLn(a[i]);
for i := 1 to n-1 do begin
for j := i + 1 to n do
if a[i] = a[j] then break;
if j < n then break;
end;
if i < n-1 then WriteLn('+')
else WriteLn('-');
end.
volvo
Tatjanka
Цитата
Дан массив знаков А(15). Найти есть ли в массиве пара одинаковых знаков

Под знаками подразумеваются символы (буквы) или именно знаки операций?
mithquessir
Цитата
Сколько их

Пар?
Если да, то такое уже было.

здесь

В следующий раз не переписываем всю программу, а даем ссылку на нее...
Tatjanka
Под знаками подразумеваются символы(буквы). А что еще надо добавить в код чтобы высчитать сколько таких пар одинаковых знаков?


mithquessir спасибки огромное
Tatjanka
mithquessir
Все нашлаю Спасибо
volvo
Tatjanka
Код

const
 n = 15;
var
 s: string[n];
var
 i,j:integer;
 count: integer;
 cont: boolean;
begin
 readln(s);
 i := 1;
 while i <= length(s) do
   begin
     j := i + 1; cont := true;
     while (j <= length(s)) and cont do
       if s[i] = s[j] then
         begin
           writeln('chars ', i, ' and ', j, ' = ', s[i]);
           delete(s, i, 1); delete(s, j - 1, 1);
           inc(count); cont := false
         end
       else inc(j);
     if cont then inc(i)
   end;

 writeln('count = ', count);
end.

Должно работать...
Tatjanka
volvo
U menja net podhodjashih slov, no ja deistvitelno ot vsei dushi blagodarna. :rose:
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.