Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2011, 23:42   #1
rbkblhjy
Новичок
Джуниор
 
Регистрация: 26.08.2011
Сообщений: 2
Восклицание Проблема с массивами

Всем привет.
Пытаюсь решать задачки,дошел до массивов и тут у меня возникла проблема.
Задача:
[пользователь вводит массив с клавиатуры(4),а программа должна сосчитать сколько парных символов я ввёл]
Пример:
[11 22 - 2 пары, 1112- 3 пары]

Вот мой код
Тут много всякой ахинеи,не судите строго я только начал учить


Код:
uses crt;
const n=4;
var
a: array[1..n] of integer;
a1: array[1..n] of integer;
b,c,d,e,rez,rez1,g:integer;
BEGIN
clrscr;
 e:=1;
for b:=1 to n do
begin
Write('-->'); readln(a[b]);
a1[b]:=a[b];
end;

repeat

for rez:=1 to n do
begin
if a1[e]=a[rez] then rez1:=rez1+1;

end;

 repeat
if rez=n then

g:=g+1;
until(g=4);

repeat
if rez=n then e:=e+1;
until(e=4);

until(e=4);

writeln('Par ',rez1);

readln;
END.
И он "как ни странно" не правильный..:D ,потому что когда я ввожу символы 1,2,3,4 то мне всеровно выводит что у меня одна пара.
Помогите пожалуйста.
rbkblhjy вне форума Ответить с цитированием
Старый 27.08.2011, 09:28   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
1112- 3 пары
вообще-то спорное утверждение, но если нужно, то так.
Код:
uses crt;
const n=4;
var
a: array[1..n] of integer;
b,c,rez1:integer;
BEGIN
clrscr;
for b:=1 to n do
 begin
  Write('-->');
  readln(a[b]);
end;
rez1:=0;
for b:=1 to n-1 do{смотрим элементы массива до предпоследнего}
for c:=b+1 to n do {сравниваем с теми, что впереди}
if a[c]=a[b] then inc(rez1);{если одинаковые, считаем}
writeln('Par ',rez1);
readln;
END.
puporev вне форума Ответить с цитированием
Старый 28.08.2011, 02:00   #3
rbkblhjy
Новичок
Джуниор
 
Регистрация: 26.08.2011
Сообщений: 2
По умолчанию Спасибо.

Спасибо=)
я бы наверн. до такого и не додумался бы.
rbkblhjy вне форума Ответить с цитированием
Старый 31.08.2011, 18:26   #4
N1ghtMare
 
Регистрация: 31.08.2011
Сообщений: 7
По умолчанию

помогите плс, у меня проблема с увеличением отступа в столбцах в матрице. Когда на экране ввожу элементы матрицы мне паскаль выдает матрицу и элементы в ней сливаются
writeln ('a');
for i:= to m do begin
for j:=1 to n do
write(a[i,j]:6:2);
writeln;
в этом месте надо как то добавить "пробелы" я уже около часа играюсь и никак не получается...
N1ghtMare вне форума Ответить с цитированием
Старый 31.08.2011, 18:37   #5
N1ghtMare
 
Регистрация: 31.08.2011
Сообщений: 7
По умолчанию

N1ghtMare вне форума Ответить с цитированием
Старый 31.08.2011, 18:47   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Ничего не видно на картинке, надо было еще меньше сделать. Что за числа у тебя там такие..
Ну напиши
Код:
write(a[i,j]:8:2); или
write(a[i,j]:10:2);
puporev вне форума Ответить с цитированием
Старый 31.08.2011, 18:59   #7
N1ghtMare
 
Регистрация: 31.08.2011
Сообщений: 7
По умолчанию

числа взял рандомно.
Цитата:
write(a[i,j]:10:2)
помогло спасибо большое)
N1ghtMare вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с массивами Seran4ek Общие вопросы Delphi 1 11.04.2010 17:48
Проблема с динамическими массивами San4o Общие вопросы Delphi 5 13.09.2009 21:15
проблема с массивами Dimanduc Общие вопросы Delphi 4 31.03.2009 20:16
Проблема с МАССИВАМИ! Help! GorNikSar Паскаль, Turbo Pascal, PascalABC.NET 3 19.12.2008 13:43