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

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

Войти
Регистрация
Восстановить пароль
 
Niklitel
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 17
#1

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

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

оформить транспонирование квадратной матрицы как функцию
и проверить ее на симметричность (тоесть совпадает ли начальная матрица с транспонированной), симметричность оформить как функцию.
не могу понять почему неправильно работает, подскажите пожалуйста=(
Код
#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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 17:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос функции и массивы (C++):

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) - C++
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

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

Массивы и функции - C++
Здравствуйте. Очень интересная ошибка возникает в результате работы этого когда: void schet(double result, int ar_size); int main() {...

Си++ массивы, функции - C++
Дан массив B, нужно с помощью написания отдельных функции, определить количество нулевых ячеек в нем, и сжать его (т.е. выкинуть из его...

Функции и массивы - C++
Помогите решить задачу: использование массивов и применение функций(разрешается применять шаблоны), 1 . Разработать функцию разворота...

Массивы и функции - C++
Функция такова y=1/2(одна вторая) ln x (логарифм от x вроде) y=1/2 ln x Попрошу вас дорогие программисты , в с++ переделать с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
13.11.2013, 02:04 #2
Цитата Сообщение от 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)? Ну и освободить память тоже бы не мешало...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2013, 02:04
Привет! Вот еще темы с ответами:

Массивы и функции - C++
Помогите пожалуйста решить проблему: мне нужно переделать следующий код так чтоб он был написан через функции, это рабочий код, и вон...

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

Функции и массивы - C++
Нужно на Dev C++ вычислить произведение всех столбцов массива, у которых первый элемент больше элементов расположенных на главной и...

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


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

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

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