С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Artlum
1

Подскажите как дописать программу

06.03.2010, 13:00. Показов 579. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В матрице 6х6 заданной случайным образом. Подсчитать количество отрицательных элементов, стоящих выше главной диагонали, ниже побочной диагонали и сравнить их.
Я написал программу, но почему она всегда ответ выдает один и тот же,а именно (Кол-во отриц.элементов ниже побочной диагонали больше). Возможно это такой фарт, но мне кажется я просто неправильно ее написал. Подскажите пожалуйста я еще новичок в этом, поэтому сильно не ругайте
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program matrix;
var a:array [1..6,1..6] of integer;
i,j,n,k,p:integer;
begin
randomize;
for i:=1 to 6 do begin
for j:=1 to 6 do begin
a[i,j]:=random(21)-10;
write(a[i,j]:4); end;
writeln; end;
k:=0; p:=0;
for i:=1 to 6 do
for j:=1 to 6 do
if i<j then begin if k<0 then k:=k+1; end;
if i+j>n+1 then begin if p<0 then p:=p+1; end;
if k>p then writeln ('Кол-во отриц.элементов выше главной диагонали больше')
else writeln ('Кол-во отриц.элементов ниже побочной диагонали больше');
readln;
end.
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Блог
06.03.2010, 13:00
Ответы с готовыми решениями:

Подскажите как написать программу
Задание: Составить на языке Паскаль программу вычисления функции:

подскажите как изменить программу на строки
Вот программа на строки нужно чтоб она работала не только с латинскими буквами но и с русскими...

Разобраться и дописать программу
У меня с массивами проблема, новичок в этом. Задание: Из одномерного массива X из n элементов...

Дописать алгоритм и программу
Дана часть алгоритма, нужно дописать его самому и написать по нему программу(код) изображения...

4
92 / 88 / 58
Регистрация: 14.05.2009
Сообщений: 202
06.03.2010, 14:02 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
program matrix;
Var a:array[1..6, 1..6] of integer;
i,j,n,k,p:integer;
begin
randomize;
for i:=1 to 6 do
begin
for j:=1 to 6 do
a[i,j]:=random(21)-10; 
write(a[i.j]:4)
end;
writeln;
begin
k:=0;
p:=0;
writeln('enter n');
readln(n);
for i:=1 to 6 do
begin
for j:=1 to 6 do
begin
if (i<j) and (a[i,j]<0) then
k:=k+1;
else if (i+j>n+1) and (a[i,j]<0) then
p:=p+1;
else continue
end;
end;
if k>p then 
writeln('Кол-во элементов выше главной диагонали больше');
else writeln('Кол-во элементов ниже побочной диагонали больше')
end;
end.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
06.03.2010, 14:05 3
Вообще какую-то чушь написали. Вместо того чтобы сравнивать с нолем элементы матрицы, сравниваете их количество.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
program matrix;
const ct=6;
var a:array [1..ct,1..ct] of integer;
    i,j,v,n:integer;
begin
randomize;
for i:=1 to ct do
 begin
  for j:=1 to ct do
   begin
    a[i,j]:=random(21)-10;
    write(a[i,j]:4);
   end;
  writeln;
 end;
v:=0; n:=0;
for i:=1 to ct do
for j:=1 to ct do
if a[i,j]<0 then
 begin
  if j>i then v:=v+1
  else if j<ct-i+1 then n:=n+1;
 end;
writeln('Выше  главной=',v);
writeln('Ниже побочной=',n);
if v>n then writeln ('Кол-во отриц.элементов выше главной диагонали больше')
else if v<n then writeln ('Кол-во отриц.элементов ниже побочной диагонали больше')
else write('Поровну');
readln
end.
Добавлено через 1 минуту
System.exe, А интересно n у Вас что делает?
0
92 / 88 / 58
Регистрация: 14.05.2009
Сообщений: 202
06.03.2010, 14:14 4
Да я перепутал. Нужно вместо n было использовать размерность матрицы, да и условие немного изменить. Не знаю чего-то поспешил . . .
0
Artlum
06.03.2010, 14:19 5
Всем спасибо за разъяснения, работает!
06.03.2010, 14:19
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
06.03.2010, 14:19
Помогаю со студенческими работами здесь

Дописать программу на Паскаль.Массивы
Задание: Запишите полные тексты двух последних программ и выполните их на компьютере. 1 программа...

Подскажите как написать программу про округления числа
надо округление таких чисел к примеру ( 24.47, 54.65 ... и т.д) кто откликнется я объясню...

Дописать программу с использованием операторов цикла
Помогите пожалуйста написать все возможные, эквивалентные данному фрагменты программы, с...

Не могу дописать программу, сижу с самого утра
Відомі дані про місткості (в мегабайтах ) і вартості (в гривні) кожного з 22 типів жорстких...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru