сумма из заштрихованной области квадрата

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

  1. sestrenka141989

    sestrenka141989 Гость

    Помогите кто-нибудь с задачкой, что-то я совсем ее не пойму((
    Найти сумму из заштрихованной области квадрата, указанного на рисунке: _______.GIF
     
  2. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    суму чего именно(площад, так это половина квадрата, количество точек?)
     
  3. sestrenka141989

    sestrenka141989 Гость

    вот именно что непонятно. Такое условие задания((((
     
  4. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    что-то мне посказывает, что там должна быть площадь..
     
  5. sestrenka141989

    sestrenka141989 Гость

    в общем дано квадратная матрица и найти суму чисел из заштрихованной области
     
  6. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    ну так матрицу в студию что ли?
     
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    ой, а ты будешь решать, vital?)
    кстати, с областью непонятно) диагональные элементы матрицы учитывать в заштрихованную часть?
    насколько я поняла, она в виде 2 треугольников с общей вершиной (т.е. сплошной черный цвет не учитывается).
     
  8. sestrenka141989

    sestrenka141989 Гость

    нужны все элементы которые находятся в черной области включая и диагонали
     
  9. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
     
  10. sestrenka141989

    sestrenka141989 Гость

    если можно то да

    Добавлено: У меня вышло так:
    Код (Delphi):
    const nmax=20;
    var a:array[1..nmax,1..nmax] of integer;
    n,i,j:byte;
    sm:integer;
    begin

    randomize;
    repeat
    write('Размер матрицы=');
    readln(n);
    until n in [1..nmax];
    writeln('Исходная матрица:');
    sm:=0;
    for i:=1 to n do
    begin
    for j:=1 to n do
    begin
    a[i,j]:=random(10);
    if(j>=i)or(j>=n-i+1)then
    begin
    sm:=sm+a[i,j];
    write(a[i,j]:4);
    end
    else
    begin
    write(a[i,j]:4);
    end;
    end;
    writeln;
    end;
    writeln;

    write('Сумма=',sm);
    readln
    end.
     
  11. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    sestrenka141989, вроде всё правильно, но я бы не плодила избыточности. Так проще и читабельней (привожу только внутренний цикл)
    Код (Delphi):
    for j:=1 to n do
    begin
    a[i,j]:=random(10);
    if(j>=i)or(j>=n-i+1) then
    sm:=sm+a[i,j];
    write(a[i,j]:4);
    end;
    P.S. при постинге кода на форум стоит применять соответсвующий тег. Даже кнопочки есть для него.
     
Загрузка...

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