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

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

Войти
Регистрация
Восстановить пароль
 
tox14
3 / 3 / 0
Регистрация: 15.10.2013
Сообщений: 91
#1

Обработка матриц в С++ - C++

04.11.2013, 22:41. Просмотров 323. Ответов 3
Метки нет (Все метки)

Помогите мне сделать программу. Нужно ранспонировать матрицу и вывести на печать элементы главной диагонали и диагонали, расположенной под главной. Результаты разместить в двух строках. Размерность матрицы: F(10, 8).
Двумерные массивы только начал изучать, толком ещё не разобрался...

Вот что у меня пока получается...Только вот не траспонирует оно матрицу почему-то...

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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main () {
int n,m,tmp;
cout << "BBEDITE PA3MEP MATPIZI: ";
cin >> n >> m;
cout << "\n";
int F[100] [100];
for (int i=0; i<n;i++) {
for (int j=0;j<m;j++) {
F[i] [j]= rand () % 10;
cout<< F[i] [j] << " ";}
  for (int i = 0; i<n; i++)
      for (int j = 0; j < i; j++)
      {
          F[i][j] = F[j][i];
      }
cout<< "\n";}
        cout<< "\n";
for (int j=0; j<m;j++) {
for (int i=0;i<n;i++) {
cout<< F[i] [j] << " ";}
cout<< "\n"; }
getch();
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2013, 22:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка матриц в С++ (C++):

Обработка матриц - C++
Уважаемые форумчане помогите с задачей. Определить максимальный елемент матрици {Si,j}6,3.Вывести его значения и индекси.

Обработка матриц - C++
Дан двумерный массив. В каждой строке все его элементы, не равные нулю, переписать (сохраняя порядок) в начало строки, а нулевые...

Обработка матриц - C++
Добрый день, помогите. Дана целочисленная матрица MxN.Найти элемент,являющийся максимальный в своей строке и минимальный в своем...

Обработка матриц - C++
Помогите дописать код программы вот условие:Вычислить сумму и число элементов матрицы, находящихся под главной диагональю и на ней. В (N,...

Обработка матриц - C++
Имеется код! void maxToArr(int ar,int matr, int nRow, int nCol){ int max=matr; for(int i=0;i&lt;nRow;i++) for(int...

Обработка матриц - C++
В матрице Z(5,6) первый отрицательный элемент каждого столбца заменить суммой оставшихся. Отрицательные элементы до замены вывести в массив...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
23554 / 15548 / 4594
Регистрация: 22.10.2011
Сообщений: 27,572
Записей в блоге: 5
04.11.2013, 22:49 #2
А почему в Билдер? Этот код - никакого отношения к Билдеру не имеет, чистый С++, поэтому переезжаем...
1
tox14
3 / 3 / 0
Регистрация: 15.10.2013
Сообщений: 91
05.11.2013, 14:01  [ТС] #3
Я просто в Билдере эту программу писал.

Добавлено через 4 минуты
Я знаю, что элементы главной диагонали это: if (i=j) cout<<F[i] [j];
И знаю, что диагональ расположенная под главной: if (i>j) cout<<F[i] [j];
Но как это реализовать в цикле не знаю.

Добавлено через 15 часов 3 минуты
Вот что у меня пока получается, но не транспонирует, и не правильно выводит диагональ расположенную под главной. Помогите пожалуйста...
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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main () {
int n,m,tmp;
cout << "BBEDITE PA3MEP MATPIZI: ";
cin >> n >> m;
cout << "\n";
int F[100] [100];
  for (int i=0; i<n;i++) {
  for (int j=0;j<m;j++) {
     F[i] [j]= rand () % 10;
     cout<< F[i] [j] << " ";}
for (int j=0; j<m;j++) {
  for (int i=0;i<n;i++) {
      F[i][j] = F[j][i];}}
   cout<< "\n";}
cout<< "\n";
for (int j=0; j<m;j++) {
  for (int i=0;i<n;i++) {
        cout<< F[i][j] << " ";}
     cout<< "\n"; }    cout<< "\n";
cout<<"Glavnaya diagonal: ";
     for (int j=0; j<m;j++) {
  for (int i=0;i<n;i++) {
        if (i==j) cout<<F[i][j]<<" ";} }
 
cout<<"\nDiagonal pod glavnoy : ";
     for (int j=0; j<m-1;j++) {
  for (int i=0;i<n-1;i++) {
        if (i>j) cout<<F[i][j]<<" ";} }
getch();
}
0
tox14
3 / 3 / 0
Регистрация: 15.10.2013
Сообщений: 91
07.11.2013, 22:18  [ТС] #4
Спасибо вам за помощь! Разобрался сам!
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
#include <iostream.h>
#include <conio.h>
void main () {
int n,m,tmp;
cout << "BBEDITE PA3MEP MATPIZI: ";
cin >> n >> m;
cout << "\n";
int F[10] [8];
  for (int i=0; i<n;i++) {
  for (int j=0;j<m;j++) {
     F[i] [j]= rand () % 10;
     cout<< F[i] [j] << " ";}
for (int j=0; j<m;j++) {
  for (int i=0;i<n;i++) {
      tmp=F[j][i];
      F[i][j] == F[j][i];
      F[j][i]=tmp;}}
   cout<< "\n";}       cout<< "\n";
for (int j=0; j<m;j++) {
  for (int i=0;i<n;i++) {
        cout<< F[i][j] <<" ";}
     cout<< "\n"; }    cout<< "\n";
cout<<"Glavnaya diagonal: ";
for (int j=0; j<m;j++) {
  for (int i=0;i<n;i++) {
        if (i==j) cout<<F[j][i]<<" ";}}
cout<<"\nDiagonal pod glavnoy: ";
for (int j=0; j<m-1;j++) {
  for (int i=j+1;i<n;i++) {
        if (i>j) cout<<F[j][i]<<" ";break;}}
getch(); }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2013, 22:18
Привет! Вот еще темы с ответами:

Обработка матриц в с++ - C++
даны матрицы D размерностью m*n, E n*k и число a. найти значение выражения: D*a*E проверить свойство матриц: a*(A+B)=aA+aB это надо...

Обработка матриц - C++
Помогите кому не лень) Ввести двумерный массив {A}_{3x5}. Определить в нём среднее геометрическое элементов, у которых оба индекса...

Обработка матриц - С++ - C++
Вот задача нужно решить - С++. Не могу решить, не получается... Найти наибольший и наименьший элементы матрицы и поменять местами...

Обработка матриц - C++
помогите решить проблему, не могу понять, как сделать так, чтобы вводить размер матрицы с клавиатуры: вот мой код: #include...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.11.2013, 22:18
Ответ Создать тему
Опции темы

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