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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 20.11.2009, 12:34   #1
[METAL]
Подтвердите свой е-майл
 
Регистрация: 19.11.2009
Сообщений: 5
По умолчанию Помогите пожалуйста с задачей Pascal

1)Дана квадратная матрица C. Найти максимальные элементы на главной и побочной диагоналях. Вывести исходную матрицу в общепринятом виде.
Результат вывести в произвольном виде.
2) Дана последовательность из n целых чисел - определить сколько чисел кратных семи и попадающих в заданный интервал в ней.
Программу написал:
Код:
var
a,b,kol,i,n,c: integer;
begin
writeln('vvedite kolichestvo');
read(n);
Writeln('vvedite interval');
readln(a,b);
kol:=0;
for i:=1 to n do
 begin
 write('vvedite',i,'element');
 readln(c);
 if c mod(7)=0 then
 if (c>a) and (c<b) then Kol:=kol+1;
 end;
Writeln(kol);
Readln(kol);
end.
Она(2) работает но непонятен один глюк - например если задаю интервал
от -10 до 10 а в последовательности скажем есть чесло -70 -программа его тоже считает,несмотря на то что оно не входит в интервал. Почему вот так?

Последний раз редактировалось [METAL]; 20.11.2009 в 14:43.
[METAL] вне форума
Старый 20.11.2009, 12:42   #2
dexterua
Пользователь
 
Регистрация: 16.11.2009
Сообщений: 24
По умолчанию

Напишите пример на котором не работает, скопировал код, ввел количество 1, интервал -10 10, значение -70
пишет количество 0

Что не так делаю?

P.S не помешали бы пробелы в write('vvedite',i,'element');
dexterua вне форума
Старый 20.11.2009, 12:44   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Она работает
код в студию
I'm learning to live...
Stilet вне форума
Старый 20.11.2009, 13:43   #4
[METAL]
Подтвердите свой е-майл
 
Регистрация: 19.11.2009
Сообщений: 5
По умолчанию

Цитата:
Сообщение от dexterua Посмотреть сообщение
Напишите пример на котором не работает, скопировал код, ввел количество 1, интервал -10 10, значение -70
пишет количество 0

Что не так делаю?

P.S не помешали бы пробелы в write('vvedite',i,'element');
Уже проблему решил - прога просто 0 воспринимало как число кратно 7,исправил,сейчас работает нормально, добавил стороку перед целочисленным делением просто:
if (c<0) or (c>0) then

Теперь нужно только написать вот первую задачу.
[METAL] вне форума
Старый 20.11.2009, 14:00   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Теперь нужно только написать вот первую задачу.
Такое подойдет?
Код:
 const n=5;
 var c:array[1..n,1..n] of integer;
 q,w,mx1,mx2:integer;
begin
 for q:=1 to n do begin
  for w:=1 to n do begin
   c[q,w]:=50-random(100);
   if (q=w)and(mx1<c[q,w]) then mx1:=c[q,w];
   if ((n-q+1)=w)and(mx2<c[q,w]) then mx2:=c[q,w];
   write(c[q,w]:6);
  end;
  writeln;
 end;
 writeln;write(mx1:5,mx2:10);
 readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
I'm learning to live...
Stilet вне форума
Старый 20.11.2009, 14:20   #6
[METAL]
Подтвердите свой е-майл
 
Регистрация: 19.11.2009
Сообщений: 5
По умолчанию

Ну в общем то да, но желательно что бы размер матрицы можно было задавать.
[METAL] вне форума
Старый 20.11.2009, 14:51   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ну в общем то да, но желательно что бы размер матрицы можно было задавать.
т.е. после запуска программы??
I'm learning to live...
Stilet вне форума
Старый 20.11.2009, 14:56   #8
[METAL]
Подтвердите свой е-майл
 
Регистрация: 19.11.2009
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
т.е. после запуска программы??
Ну да,запустил - программа выдаёт что то типа задайте размерность или что подобное.
[METAL] вне форума
Старый 20.11.2009, 15:11   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
[METAL]
В таком случае почитай описание и примеры GetMem
В Паскалевском хелпе есть - он может динамически память распределять
I'm learning to live...
Stilet вне форума
Старый 20.11.2009, 15:15   #10
[METAL]
Подтвердите свой е-майл
 
Регистрация: 19.11.2009
Сообщений: 5
По умолчанию

Ок,спасибо за помощь!
[METAL] вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста с задачей (Pascal) Pavel!! Помощь студентам 3 25.01.2009 23:39
Помогите с задачей по Pascal!!! oblachko Паскаль, Turbo Pascal, PascalABC.NET 3 15.01.2009 18:11
Помогите с задачей на pascal sdinaras Помощь студентам 3 05.10.2008 10:06