Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > обработка матрицы


Автор: R4peMe 18.4.2011, 16:55
Всем доброго времени суток!
нужно помощь в создании алгоритма
задача: преобразовать квадратную матрицу введённой размерности со случайно заданными числами согласно рисунку, т.е. нужно что бы элемент K[i][j] новой матрицы являлся МАКСИМАЛЬНЫМ элементом области первой матрицы (область показана на рисунке)

http://imglink.ru

так же прикрепляю тот код что у меня уже есть
Код

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int printmass(int mass[10][10], int rz);  /функция вывода массива
int printmass(int mass[10][10], int rz)
    {
    int i,j;
    for(i=0;i<=rz;i++)
     {
      for(j=0;j<=rz;j++)
      printf("%5.0d", mass[10][10]);
     printf("\n \n");
     }
    return 0;
    }

int main()
    {
    int mass1[10][10],mass2[10][10],i,j,l,k,rz,t,max; //переменные: массивы, 4 счётчика для циклов,rz размерность
                              //t для random, max понятно
    printf("Введи размерность");
    scanf("%d", &rz);
    rz--;                                             //можно этого не делать, просто мы считаем от 1
    srand((unsigned)time(NULL));              //а комп от 0 соответственно, берём случайные числа
    for(i=0;i<=rz;i++)
      for(j=0;j<=rz;j++)
       mass1[i][j]=1+rand()%10;              //задаём массив случайных чисел

    printmass(mass1,rz);                  //выводим его на экран

    //тут и должен быть тот самый алгоритм, который у меня никак не получается ><

    printmass(mass2,rz);
    return 0;
    }

Автор: borisbn 19.4.2011, 10:22
Ты проделал львиную долю работы (даже переменные для счётчиков цикла завёл), поэтому мне осталась такая малость... smile
лови
Код

for(i=0;i<=rz;i++)
    for(j=0;j<=rz;j++)
    {
        mass2[i][j] = -1;
        for ( l = std::min(i,j); l <= std::max(i,j); l++);
            for ( k = std::min(i,j); k <= std::max(i,j); k++);
                if ( mass1[i][j] > mass2[i][j] )
                    mass2[i][j] = mass1[i][j]
    }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)