1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

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

Тема в разделе "Вопросы новичков и не только", создана пользователем NemoI3, 13 окт 2010.

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

    NemoI3 Гость

    Репутация:
    0
    Написать программу:

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


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

    Dock1100 :-]

    Репутация:
    0
    Регистрация:
    9 ноя 2009
    Сообщения:
    665
    Симпатии:
    1
    Возможно так?:
    Код:
    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 Гость

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

    Dock1100 :-]

    Репутация:
    0
    Регистрация:
    9 ноя 2009
    Сообщения:
    665
    Симпатии:
    1
    проверил, всё работает:
    Код:
    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 Гость

    Репутация:
    0
    Dock1100

    спасибо тебе огромное!!!
    очень благодарен!!!
    всегда буду рад помочь!)
     
Загрузка...
Статус темы:
Закрыта.

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