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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2008, 20:58   #1
chelsi
 
Регистрация: 22.04.2008
Сообщений: 9
По умолчанию помогите подкоректировать задачи ,а то не правильно выдают ответы!!

помогите с другими задачами я их сделала ,но не знаю,почему выдаёт не правильные ответы!(надо подредактировать....) вот задания и решения
2. Найти номер строки, в которой находится самая длинная серия одинаковых элементов.
3. Найти максимум среди сумм элементов диагоналей, параллельных побочной диагонали
2.for i:=1 to n do
nom[i]:=0;
for i:=1 to n do
begin
k:=1;
p:=1;
for j:=1 to n do
if A[i,j]=A[i,j+1] then
k:=k+1
else
begin
if k>p then
p:=k ;
k:=1;
end;
nom[i]:=p;
end;
t:=0;
for i:=1 to n do
if nom[i]=1 then
t:=t+1;
if t=1 then
Edit1.Text:='нет одинаковых серий'
else
begin
max:=nom[1];
for i:=1 to n do
if nom[i]>max then
begin
max:=nom[i];
imax:=i;

3 b:=a;
max:=-maxlongint;
for i:=1 to n do
for j:=n downto 1 do
b[i,j]:=a[i,j]+b[i-1,j-1];
max:=b[n,n];
for i:=1 to n do
begin
if b[i,n]>max then max:=b[i,n];
if b[n,i]>max then max:=b[n,i];
end;
chelsi вне форума Ответить с цитированием
Старый 24.04.2008, 23:01   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

if k>p then p:=k надо вынести из блока else
сейчас это не обрабатывает последнюю серию в строке

правильно будет
k:=k+1
else
k:=1;

затем
fi k>p then p:=k;
n[i]:=p;
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 24.04.2008 в 23:03.
evg_m вне форума Ответить с цитированием
Старый 25.04.2008, 10:10   #3
chelsi
 
Регистрация: 22.04.2008
Сообщений: 9
По умолчанию

она всё равно не правильно считает ,я не знаю что делать !
chelsi вне форума Ответить с цитированием
Старый 25.04.2008, 10:35   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

т[i]:=p;
end;

итак мы уже знаем максимальную длину серии для каждой строки
теперь найдем среди них
max:=0;// заведомо меньше самой маленкой серии 1
maxi:=0; //хорошей серии еще нет
for i:=1 to n do
if n[i]>max then begin
max:=n[i];
maxi:=i;
end;
// а теперь выводим результаты
max - длиа макимальной серии
maxi -номер лучшей серии
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
HELP! Нужно подкоректировать прогу на СИ. NEWLOGIN Помощь студентам 3 10.05.2008 18:11
Помогите правильно написать формулу Вики Microsoft Office Excel 7 04.02.2008 11:23
Ответы к тесту Constellation БД в Delphi 0 03.01.2008 19:19