Задача на Pascal(delphi)

Тема в разделе "Pascal and Delphi", создана пользователем NemoI3, 13 окт 2010.

Статус темы:
Закрыта.
  1. NemoI3

    NemoI3 Гость

    Написать программу:

    В матрице А(5х5) найти и напечатать элементы диагоналей, проведенных через максимальный элемент(сначала побочную, затем главную).


    максимальный элемент понимаю как найти...не могу вывести в правильном порядке.
    Если сможете, помогите кто-нибудь...мне это к завтрашнему числу к 12-00 ((
    буду очень благодарен, если кто поможет!
    если требуется оплата за работу, готов оплатить!если до завтра успеете!!!
    заранее благодарен!
     
  2. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Возможно так?:
    Код (Delphi):
    max_roz:=max_i-max_j;{max_i-рядок в которм находится макс, а max_j - столбик}
    for i:=1 to 5 do
    for j:=1 to 5 do
    if i-j=max_roz then writeln(a[i,j]);
     
  3. NemoI3

    NemoI3 Гость

    спасибо большое!!!
    но это по главной диагонали получается...
    а как побочную вычислить?(((
     
  4. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    проверил, всё работает:
    Код (Delphi):
    var a: array [1..5,1..5] of integer;
    i,j,max,max_i,max_j,max_roz,max_sum:integer;
    begin
    randomize;
    for i:=1 to 5 do {рандомно забиваем масив}
    for j:=1 to 5 do
    begin
    a[i,j]:=random(100);
    a[i,j]:=a[i,j]-50;{делаем так что б были и числа меньше нуля, хотя эту строку можно убрать}
    end;

    for i:=1 to 5 do{красиво выводим масив}
    begin
    write('|');
    for j:=1 to 5 do
    write(' ',a[i,j]:3,' |');
    writeln;
    end;

    max:=a[1,1];{ищем макс}
    max_i:=1;
    max_j:=1;
    for i:=1 to 5 do
    for j:=1 to 5 do
    if a[i,j]>max then
    begin
    max:=a[i,j];
    max_i:=i;
    max_j:=j;
    end;

    writeln;
    max_roz:=max_i-max_j;{выводим глав. диагональ}
    for i:=1 to 5 do
    for j:=1 to 5 do
    if i-j=max_roz then write(a[i,j],' ');
    writeln;
    writeln;

    max_sum:=max_i+max_j;{выводим побочную диагональ}
    for i:=1 to 5 do
    for j:=1 to 5 do
    if i+j=max_sum then write(a[i,j],' ');

    readln;
    end.
     
  5. NemoI3

    NemoI3 Гость

    Dock1100

    спасибо тебе огромное!!!
    очень благодарен!!!
    всегда буду рад помочь!)
     
Загрузка...
Похожие Темы - Задача на Pascal(delphi)
  1. elzim
    Ответов:
    0
    Просмотров:
    929
  2. ShaoKahn
    Ответов:
    0
    Просмотров:
    1.117
  3. eremin-sanek
    Ответов:
    3
    Просмотров:
    1.104
  4. MonteCristo
    Ответов:
    1
    Просмотров:
    851
  5. bort
    Ответов:
    1
    Просмотров:
    1.178
Статус темы:
Закрыта.

Поделиться этой страницей