1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

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

Двумерный массив, контур

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

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

    MusicMan Гость

    Репутация:
    0
    Есть задачка
    Дана квадратная матрица A произвольной размерности. Определить сумму значений элементов, стоящих по контуру данной матрицы.

    Т.е. контур, это элементы, которые находятся по краям матрицы?

    11 12 13 14 15
    21 22 23 24 25
    31 32 33 34 35
    41 42 43 44 45
    51 52 53 54 55

    Я правильно понимаю? Каким образом можно выбрать этот контур?

    PS: Язык Pascal.

    Решение не нужно, просто нужно условие, которым выделяется этот самый контур, либо последовательность действий.

    program program_1;
    uses crt;
    var a:array[1..100,1..100] of Integer;
    i,j,n,summ:integer;
    begin
    clrscr;
    write('Vvedite razmernost matrici: ');
    readln(n);
    for i:=1 to n do
    for j:=1 to n do begin
    write('element [',i,':',j,']:');
    readln(a[i,j]);
    end;
    writeln;
    for i:=1 to n do begin
    for j:=1 to n do
    write(a[i,j]:3);
    writeln;
    end;
    ...
    readln;
    end.

    Далее всё стопорится.
     
  2. Dock1100

    Dock1100 :-]

    Репутация:
    0
    Регистрация:
    9 ноя 2009
    Сообщения:
    665
    Симпатии:
    1
    Вот простенький способ решения (что б посчитать суму выделеных красным елементов)
    Код:
    function suma_contur(a:array[1..n,1..m] of real):real; //n и m размеры матрицы
    var i,j:integer;
    s:real;
    begin
    s:=0;
    for i:=1 to n do
    for f:=1 to m do
    if (i=1)or(j=1)or(i = n)or(j = m) then s:=s+a[i,j];
    
    suma_contur:=s;
    end;
     
  3. MusicMan

    MusicMan Гость

    Репутация:
    0
    Спасибо большое, так оно и есть, этот способ рабочий. С меня плюсик, респект за оперативность.
     
Загрузка...
Статус темы:
Закрыта.

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