Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - матрицы

Ответить
Настройки темы
C/C++ - матрицы

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый вечер. Ув. форумчане пожалуйста помогите решить задачу по программированию, на тему: матрицы.

Условие:
Дано действительную квадратную матрицу порядка n. Получить новую матрицу путем замены элементов, сумма индексов которых четная на среднее геометрическое модулей элементов, находящихся на главной диагонали.

необходимо написать код на С++, пожалуйста помогите это сделать, не могу понять как правильно записать последовательность действий.(((

Отправлено: 21:17, 07-10-2010

 

Аватара для Hector

Misanthrope


Сообщения: 474
Благодарности: 38

Профиль | Отправить PM | Цитировать


PHP код: Выделить весь код

#include "stdafx.h"
#include "locale.h"
#include "stdio.h"
#include "math.h"

const int N=4// порядок матрицы 3х3

int inp(float matr[N][N]) // ввод матрицы
{
    
int ij;
    for (
i=1i<=N-1i++)
        for (
j=1j<=N-1j++)
        {
            
printf("\n[%d.%d]=",i,j);
            
scanf("%f",&matr[i][j]);
        }
    return 
0;
}

int out(float matr[N][N]) // вывод матрицы
{
    
int ij;
    for (
i=1i<=N-1i++)
    {
        for (
j=1j<=N-1j++)
            
printf("%.2f ",matr[i][j]);
        
printf("\n");
    }
    return 
0;
}


int _tmain(int argc_TCHARargv[])
{
    
setlocale(LC_ALL"rus"); // вывод русских символов в консоль
    
float A[N][N];
    
printf("Введите значения для матрицы А:\n");
    
inp(A);
    
printf("\nВы ввели:\n\nМатрица А:\n");
    
out(A);
    
int hg;
    
float srGem=1
    
// находим средне-геометрическое элементов главной диагонали
    
for (h=1h<=N-1h++)
        
srGem=srGem*abs(A[h][h]);
    
srGem=sqrt(srGem);    
    
// итоговая обработка матрицы
    
for (h=1h<=N-1h++)
        for (
g=1g<=N-1g++)
            if ((
h+g)%2==0
                
A[h][g]=srGem;
    
printf("\nМатрица A после обработки:\n");
    
out(A);
    return 
0;


-------
Information must be free!
Нет границ, есть только препятствия


Отправлено: 22:34, 07-10-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата Hector:
const int N=4; »
- Матрица 3*3????оО

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 23:19, 07-10-2010 | #3


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Hector, спасибо большое!


ничего же не должно поменяться если я изменю размеры матрицы до 10х10?

выдает ошибку:

c:\program files\microsoft visual studio\myprojects\ll\ff.cpp(1) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
Error executing cl.exe.

Отправлено: 23:27, 07-10-2010 | #4


Аватара для Hector

Misanthrope


Сообщения: 474
Благодарности: 38

Профиль | Отправить PM | Цитировать


LilLoco, что тебя смущает?
mego4el, в принципе не должно. насчет
Цитата mego4el:
c:\program files\microsoft visual studio\myprojects\ll\ff.cpp(1) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
Error executing cl.exe. »
вроде не может найти stdafx.h

-------
Information must be free!
Нет границ, есть только препятствия


Отправлено: 23:57, 07-10-2010 | #5


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата Hector:
LilLoco, что тебя смущает? »
Ну вроде как при N = 4, Матрица Matr[N][N] не будет матрицей с размерностью 3*3!или мне кажется?оО

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 07:37, 08-10-2010 | #6


Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


LilLoco, массив позволит вместить в себя матрицу размером 3x3. Т.е. памяти будет задействовано больше, но ошибки не возникнет.
А вообще в дебагере надо посмотреть.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 08:18, 08-10-2010 | #7


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Ошибки то не будет, но матрица то будет при этом содержать 4*4 элементов!А я говорю просто про комментарий, в котором написано, что N = 4 - это порядок матрицы 3*3!Этим и с толку сбить можно же!

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 10:52, 08-10-2010 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - матрицы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - [решено] Нахождение обратной матрицы методом Гаусса и рассширенной матрицы D.Y. Программирование и базы данных 64 06-05-2011 22:59
Ноутбук без матрицы systeman Ноутбуки 0 10-11-2009 17:09
C/C++ | Матрицы Kuron Программирование и базы данных 2 21-01-2007 10:09
c++.NET выравнивание матрицы bezumes Программирование и базы данных 4 22-04-2006 01:20
Формирование матрицы Sergey Po Программирование и базы данных 3 28-04-2004 04:47




 
Переход