IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> задача на преобразование и построение Матриц, помогите плиз... немогу решить зададу по Си...неселён в этом((
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Ваня

Репутация: -  0  +


Помогите пожалуйста...
Задача:
1. Пусть задана матрица A, размерностью n x n. Необходимо построить матрицу В, причем элементы матрицы строятся по следующей формуле Прикрепленное изображение где область указана рисунке Прикрепленное изображение

Пример задачи:

Рис:Прикрепленное изображение

Код
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    int const nmax=15;
    double a[nmax][nmax],b[nmax][nmax];
    int i,j,k,n,l;
    cout<<"n=";
    cin>>n;
    cout<<"Matrix A:"<<endl;
    for (i=0;i<n;i++)
    {
        for (j=0;j<n;j++)
            cin>>a[i][j];
        cout<<endl;
    }
    for (i=0;i<n;i++)
        for (j=0;j<n;j++)
        {
            b[i][j]=1e20;
                for (k=0;k<n;k++)
                    for (l=0;l<n;l++)
                        if (k<=i&&l<=j-(k-i)&&l>=j-(i-k))
                            if (b[i][j]>a[k][l])
                                b[i][j]=a[k][l];
        }
        cout<<"matrix B"<<endl;
        for (i=0;i<n;i++)
        {
            for (j=0;j<n;j++)
                printf("%7.2f",b[i][j]);
            printf("\n");
        }
    return 0;
}


Заранее спасибо!

Сообщение отредактировано: Graver -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


1. Пользуемся тегом CODE. Исправь, пожалуйста.

2. Вот твой код с комментариями:

#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
// объявляем константы и переменные
int const nmax=15;
double a[nmax][nmax],b[nmax][nmax];
int i,j,k,n,l;

// читаем n
cout<<"n=";
cin>>n;

// читаем матрицу А
cout<<"Matrix A:"<<endl;
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
cin>>a[i][j];
cout<<endl;
}

// генерируем матрицу В в соответствии с заданной формулой
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{
// начинаем вычислять b[i][j]

b[i][j]=1e20; // записали в эту клетку очень большое число, 10^20

// теперь проходимся по всей матрице, и ищем минимум среди клеток, принадлежащих заданной области

for (k=0;k<n;k++)
for (l=0;l<n;l++)
if (k<=i&&l<=j-(k-i)&&l>=j-(i-k)) // если клетка k, l принадлежит заданной области
if (b[i][j]>a[k][l]) // и если при этом там значение больше, чем уже найденное
b[i][j]=a[k][l]; // то заменяем найденное значение на новое
}

// выводим матрицу В
cout<<"matrix B"<<endl;
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%7.2f",b[i][j]);
printf("\n");
}
return 0;
}


Теперь переделай под свою задачу.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Ваня

Репутация: -  0  +


Сидел всю ночь, пытался исправить... ничего не получилось(((( не подскажите поточнее что нужно исправить?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Вопрос 1: Чем отличается эта программа от той, которую ты должен получить?

Вопрос 2: Какая часть программы отвечает за это отличие?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 18.04.2024 15:20
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name