Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Я Олень
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 142
#1

Вывести матрицу B и из этой матрицы В вычесть единичную матрицу А - C++

09.06.2013, 11:23. Просмотров 980. Ответов 5
Метки нет (Все метки)

Задание такое, нужно вывести матрицу B размером n*n, и из этой матрицы В вычесть единичную матрицу А.
я решил вывести на экран сначала единичную матрицу А и квадратную матрицу В. При нажатии Ctrl+F9 выводит единичную матрицу и дает ввести матрицу B самостоятельно, начинаю вводить,цифра не появляется,а сверху экрана,где пишется адрес документа добавляется слово Inactive и дальше адрес C:\Borlandc\...
вот текст программы, сто пудняк тут что-нибудь не верно, но я решил познавать свои ошибки методом тыка, так как времени разбираться совсем нет(универ такой универ)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<conio.h>
#include<stdio.h>
#define n 3
void main()
{
            int a[n][n],B[n][n];
            int i,j,jm,im;
            for(i=0;i<n;i++)
            {
                      for(j=0;j<n;j++)
                                if(i==j)
                                 {
                                          printf("1 ");
                                  }
                                  else
                                 {
                                          printf("0  ");
                                  }
                      printf("\n");
             }
              printf("matrix B[%i][%i]:\n",n,n);
              for(i=0;i<n;i++)
                         for(j=0;j<n;j++)
                                  scanf("%5.2f ",&B[i][j]);
getch();
}
прошу посмотреть программу и помочь с вычитанием из исходной В единичной матрицы А
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2013, 11:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести матрицу B и из этой матрицы В вычесть единичную матрицу А (C++):

Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы - C++
Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы Добавлено через 25...

Сформировать единичную матрицу заданного размера, в динамической памяти - C++
Ребята помогите пожалуйста Написать программу, формирующую единичную матрицу, заданного размера, в динамической памяти

Если у диагонали этой матрицы находится обратный элемент , то матрицу транспонировать - C++
Дана матрица 3х3. Если у диагонали этой матрицы находится обратный элемент , то матрицу транспонировать надо , а если нет обратного...

Непонятно условие задачи: Вывести исходную матрицу, преобразованную матрицу и вектор Х. - C++
Здравствуйте, помогите пожалуйста понять, что от меня хотят в этом условии: &quot;Строки вещественной матрицы упорядочить по возрастанию ее...

Ввести с клавиатуры матрицу размерностью M x N. Вывести исходную матрицу, номер строки или столбца с заданны - C++
Условие: Столбец с минимальным произведением всех нечетных элементов. Поменять местами: Все элементы 4 строки на удвоенное значение...

Как в этой программе правильно вывести матрицу? а то она у меня "пляшет" - C++
Как в этой программе правильно вывести матрицу? а то она у меня &quot;пляшет&quot;. Задача: Дана матрица размера MxN. Найти номер ее строки с...

5
Leshak
259 / 235 / 40
Регистрация: 10.12.2011
Сообщений: 513
09.06.2013, 14:03 #2
Как такового вычитания нет в матрицах. Есть сложение и умножение. Чтобы вычесть матрицу B от матрицы А достаточно матрицу B домножить на (-1), и потом сложить две матрицы. Вот вам и вычитание, или же короткий экскурс в линейную алгебру.

В данном же случае надо просто от элементов главной диагонали матрицы B вычесть 1.

Не совсем конечно понял, но вы не целые значение записываете в целочисленный массив. Вполне возможна и ошибка. Хотя я могу быть и не прав. Причуды С давно уже так не помню
Теперь ещё такой момент, а обязательно ли вводить единичную матрицу?)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include<conio.h>
#include<stdio.h>
#define n 3
void main()
{
            int E[n][n],B[n][n];
            int i,j,jm,im;
            /*for(i=0;i<n;i++)
            {
                      for(j=0;j<n;j++)
                  {
                                if(i==j) { E[i][j] = 1; printf("%d",a[i][j]," "); } else { E[i][j] = 0; printf("%d",a[i][j]," "); }
                  }  
                   printf("\n");
             }*/
              printf("Вводим матрицу B[3][3]:\n%d");
              for(i=0;i<n;i++){
                        for(j=0;j<n;j++){
                        scanf("%d",&B[i][j]);
                        printf("%d",&B[i][j]," ");
                     }
                   printf("\n");
               }
               printf("Вычтем единичную матрицу из матрицы B:\n");
               for(i=0;i<n;i++)
                      for(j=0;j<n;j++)
                      if ( i == j ) B[i][j] -= 1;/*из элементов главной диагонали вычитаем 1*/
getch();
}
За вами вывод .
1
Я Олень
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 142
09.06.2013, 14:41  [ТС] #3
он мне выдал 14 ошибок :/

Добавлено через 40 секунд
Leshak, ошибкиииии
0
Я Олень
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 142
09.06.2013, 14:46  [ТС] #4
точнее 13
0
Миниатюры
Вывести матрицу B и из этой матрицы В вычесть единичную матрицу А  
Leshak
259 / 235 / 40
Регистрация: 10.12.2011
Сообщений: 513
09.06.2013, 15:33 #5
Писал на Visual C++ 2010. За ошибки извиняюсь ) писал же от руки , и на наличие ошибок ( синтаксических и вычислительных) результат не проверял. Мне было важно чтоб вы идею уловили.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include"stdafx.h"
#include<conio.h>
#include <iostream>
 
int main()
{    
        setlocale( LC_ALL,"Russian" );
        const int n = 3;
            int B[n][n];
            int i, j;
              printf("Вводим матрицу B[3][3]:\n");
              for(i=0;i<n;i++)
                        for(j=0;j<n;j++)
                        scanf("%d",&B[i][j]);
                        
              
                        
                printf("Матрица B:\n");    
                for(i=0;i<n;i++){
                        for(j=0;j<n;j++)
                            printf("%d ",B[i][j]);
                            printf("\n");
                }
               
               printf("\nВычтем единичную матрицу из матрицы B:\n");
               for(i=0;i<n;i++)
                  for(j=0;j<n;j++)
                     if ( i == j ) B[i][j] -= 1;/*из элементов главной диагонали вычитаем 1*/
 
               printf("\n");
               for(i=0;i<n;i++){
                        for(j=0;j<n;j++)
                            printf("%d ",B[i][j]);
                            printf("\n");
                }
getch();
return 0;
}
1
Я Олень
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 142
09.06.2013, 16:13  [ТС] #6
Leshak, спасибо спасибо спасиииибо)
но я тут посидел попарился,но додумался и все исправил
0
09.06.2013, 16:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2013, 16:13
Привет! Вот еще темы с ответами:

Транспонировать квадратную матрицу, используя только оператор for. Новой матрицы не создавать. Вывести исходную и транспониро-ванную матрицы - C++
Транспонировать квадратную матрицу, используя только оператор for. Новой матрицы не создавать. Вывести исходную и транспониро-ванную...

Даны матрицы А(5,5), B(5,5). Вывести на печать матрицу 2*А-3*B. - C++
Даны матрицы А(5,5), B(5,5). Вывести на печать матрицу 2*А-3*B. Запрещено создавать темы с бессмысленными названиями вроде &quot;Помогите!&quot;,...

Транспонировать матрицу. Вывести на печать начальный и конечный вариант матрицы - C++
Дана квадратная матрица натуральных чисел, (получаемая через rand()). Транспонировать матрицу. Вывести на печать начальный и конечный...

Вычислить сумму положительных элементов матрицы А (4,5), разделить на нее каждый элемент. Полученную матрицу вывести - C++
помогите курсовую сделать


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru