Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Niklitel
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 17
#1

функции и массивы - C++

12.11.2013, 17:26. Просмотров 252. Ответов 1
Метки нет (Все метки)

оформить транспонирование квадратной матрицы как функцию
и проверить ее на симметричность (тоесть совпадает ли начальная матрица с транспонированной), симметричность оформить как функцию.
http://www.cyberforum.ru/cpp-beginners/thread263455.html
не могу понять почему неправильно работает, подскажите пожалуйста=(
Код
#include <iostream>
#include <conio.h>
int trans(int **x,int nx)
{ int i,j,s,**h;
  h=new int*[nx];
  for (i = 0; i<nx; i++){
	  h[i]=new int [nx];
  }
  for (i = 0; i<nx; i++) {
	  for (j=0; j<nx; j++) {
		  h[i][j]=x[j][i];
	  }
  }
  return **h;
}
int simm(int **x,int **t,int nx)
{ int i,j;
  for (i=0; i<nx; i++){
	  for (j=0; j<nx; j++) {
		  if (x[i][j]!=t[i][j]) 
			  return 0;
	  }
  }
  return 1;
}
int main ()
{ setlocale(LC_ALL, "rus");
  using namespace std;
  int **a,**b,**c,**s;
  int i,j,n;
  cout<<"введите размерность квадратной матрицы a"<<endl;
  cin>>n;
  cout<<"введите элементы квадратной матрицы a"<<endl;
  a=new int*[n];
  for (i = 0; i<n; i++){
	  a[i]=new int [n];
	  for (j = 0; j<n; j++){
		  cin>>a[i][j];
	  }
  }
  s=new int*[n];
  for (i = 0; i<n; i++){
	  s[i]=new int [n];
  }
  **s=trans(a,n);
  for (i = 0; i<n; i++) {
	  for (j = 0; j<n; j++){
		  cout<<s[i][j];
	  }
  }
  if (simm(a,s,n)==1){
	  cout<<"матрица а симметричная"<<endl;
  }
  else cout<<"матрица а несимметричная"<<endl;
getch ();
  return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 17:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос функции и массивы (C++):

Массивы и функции
Здравствуйте. Очень интересная ошибка возникает в результате работы этого...

Функции / Массивы
задача 5\вариант2 &quot;Написать программу, определяющую образуют ли элементы...

Массивы и функции
Функция такова y=1/2(одна вторая) ln x (логарифм от x вроде) y=1/2 ln x ...

массивы и функции
ребята,помогите пожалуйста 1. Написать процедуру для суммирования матриц. С...

Функции и массивы
Помогите решить задачу: использование массивов и применение функций(разрешается...

1
rangerx
1941 / 1550 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
13.11.2013, 02:04 #2
Лучший ответ Сообщение было отмечено Niklitel как решение

Решение

Цитата Сообщение от Niklitel Посмотреть сообщение
не могу понять почему неправильно работает, подскажите пожалуйста=(
Цитата Сообщение от Niklitel Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
int trans(int **x,int nx)
{
  int i,j,s,**h;
  h=new int*[nx];
  for (i = 0; i<nx; i++){
      h[i]=new int [nx];
  }
  ..
  return **h;
}
...
 **s=trans(a,n);
А как по-вашему это вообще должно работать? Разберитесь, что из себя предсталяет указатель на указатель, вам нужно возвращать int** и соответственно h(а не **h). И зачем вы выделяете память в main, если собрались делать это в функции trans(хотя лучше всё-таки сделать это в main)? Ну и освободить память тоже бы не мешало...
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2013, 02:04
Привет! Вот еще темы с решениями:

Функции и массивы в С++
Помогите с решением зада(если не трудно). 1.Одномерный массив: Используя...

Массивы и функции
!!!! Народ, помогите задачу решить, ПОЖАЛУЙСТА, очень срочно надо, вопрос жизни...

Массивы и функции
Вот задачка: Даны натуральное число p и вещественные квадратные матрицы A,...

функции (массивы)
Даны 3 массива найти количество отрицательных элементов каждом массиве и суммы...


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

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

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