• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите довести до ума программу

Толик 2446

Ученик
Регистрация
11 Июл 2011
Сообщения
5
Реакции
0
Баллы
0
Помогите довести до ума программу

Ввести матрицу A розмером NxN и вычеслить разницу элементов тех строк, в которых на главной диагонали стоят ноли. Найти минимальный елемент этой матрицы. Program matrica;
uses crt;
var
a:array[1..n,1..n]of integer;
I,j,rasn,min,rez:integer;
begin
for i:=1 to n do
for j:=1 to n do
begin
write('ввод елементов =', i,',',j,'':4);
readln(a[i,j]);
end;
for i:=1 to n do
begin
rez:=a[1,1];
for i:=1 to n do
for j:=1 to n do
if a[i,j]>rez
then
rez:=a[i,j]>rez
then
min:= rez;
End;
for i:=1 to n do
begin
if a[i,i]=0
then
for j:=1 to n do
rizn:=rizn-a[i,j];
writeln('rizn=',rizn);
End;
Writeln('min=',min);
readln;end.
 
Ну, если я правильно понял задание, то как-то так:
Код:
const
 n=4;
var
 a:array[1..n,1..n] of integer;
 I,j,razn,min:integer;
begin
 for i:=1 to n do
  for j:=1 to n do
   begin
    write('a[', i,',',j,']= ');
    readln(a[i,j]);
   end;
 min:=a[1,1];
 for i:=1 to n do
  for j:=1 to n do
   if a[i,j]<min then min:=a[i,j];
 for i:=1 to n do
  if a[i,i]=0 then
   begin
    razn:=a[i,1];
    for j:=2 to n do
     razn:=razn-a[i,j];
    writeln('razn[',i,']= ',razn);
   end;
 Writeln('min= ',min);
 readln;
end.
А вообще - программа Ваша, сударь, составлена запредельно неряшливо, ошибок - просто море. Поймите: компьютер не понимает "общих соображений", ему нужна абсолютная точность и выверенность каждого значка. А у Вас?
1. Uses CRT. Прекрасно - но где в программе хоть одна команда модуля CRT? Я таковых не увидел.
2. Где константа n? Откуда, интересно, компьютер возьмет данные о размере массивов?
3. В одном месте rasn, в другом - razn, в третьем - rizn. И Вы полагаете, что компьютер поймет, что программист "имеет в виду" одно и то же? И не надейтесь!
4. rez:=a[i,j]>rez - это еще что за ахинея?
5. Ищете минимум, а знак неравенства поставлен так, что находите максимум.
И т.д., и т.п., и проч.
 
Назад
Сверху