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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2011, 14:32   #1
Dean
Пользователь
 
Регистрация: 10.02.2011
Сообщений: 29
По умолчанию программы с массивами в Паскале

добрый день! уважаемые программисты, очень нужно ваша помощь в решении 2-х задачек. завтра нужно сдавать работу, а они так и не решены:
1. определить тип упорядоченности массива - возрастает, убывает, не возрастает, не убывает или не упорядочен.
2. написать программу, которая определяет, есть ли в данном массиве одинаковые рядом расположенные элементы. массив В[1..10] вводится с клавиатуры.
был бы вам очень благодарен!
Dean вне форума Ответить с цитированием
Старый 10.02.2011, 14:50   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Примерный алгоритм 1го:
Код:
{в качестве проверки используется массив a2 размерностью [3,n-1]. Если сумма стоки нулевая - условие выполнено. 
Первая стока - убывание, вторая - возрастание, третья - равномерность. Если сумма каждой из строк больше 0 - массив не упорядочен}
for i:=1 to n-1 do
if a1[i]=a1[i+1] then
a2[3,i]:=0
else
begin
a2[3,i]:=1;
if a1[i]<a1[i+1] then
begin
a2[1,i]:=0;
a2[2,i]:=1;
end
else
begin
a2[2,i]:=0;
a2[1,i]:=1;
end;
end;
for i:=1 to n-1 do
begin
min:=min+a2[1,i];
max:=max+a2[2,i];
ravn:=ravn+a2[3,i];
end;
if min=0 then write('Упорядочено по убыванию')
else 
if max=0 then write('Упорядочено по возрастанию')
else 
if ravn=0 then write('Равномерен')
else write('Неупорядочен');
По второму - почитай соседние темы.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)

Последний раз редактировалось Vanta11a; 10.02.2011 в 14:52.
Vanta11a вне форума Ответить с цитированием
Старый 10.02.2011, 14:50   #3
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

2) держите
Код:
for i:=1 to 10 do
 if mas[i]=mas[i+1] then begin writeln('есть'); break; end;
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 10.02.2011, 15:18   #4
Dean
Пользователь
 
Регистрация: 10.02.2011
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Niro Посмотреть сообщение
2) держите
простите, а можно поподробнее?
Dean вне форума Ответить с цитированием
Старый 10.02.2011, 15:28   #5
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Код:
var mas: array [1..10] of integer;
     i: integer;
begin
   for i:=1 to 10 do
     if mas[i]=mas[i+1] then begin writeln('есть'); break; end;
   if i=10 then writeln('нету');
   readln;
end.
заполните массив сами
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 10.02.2011, 16:24   #6
Dean
Пользователь
 
Регистрация: 10.02.2011
Сообщений: 29
По умолчанию

большое спасибо, друзья!
Dean вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивами в Паскале Arragorn Помощь студентам 6 02.04.2010 12:09
программа на паскале с одномерными массивами Loga Помощь студентам 27 14.01.2010 11:12
посоветуйте с массивами в паскале UberStas Помощь студентам 3 13.06.2008 19:00