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

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

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

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

12.11.2013, 17:26. Просмотров 222. Ответов 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++
Функция такова y=1/2(одна вторая) ln x (логарифм от x вроде) y=1/2 ln x Попрошу вас дорогие программисты , в с++ переделать с...

массивы и функции - C++
помогите довести этот бред до ума.. суть программы - сформировать массив, в котором будут только элементы исходного, кратного числу К ...

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

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

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

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

Массивы + функции - C++
Напишите программу, определяющую, образуют ли элементы целочисленного массива A(n) невозрастающую последовательность. Значение n следует...

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

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

массивы и функции - C++
Хочу решить задачку через функции, знаю что можно сделать проще))) ругается на &quot;синтаксическая ошибка: идентификатор &quot;i&quot;&quot;в строке с...

Массивы и функции - C++
Вот задачка: Даны натуральное число p и вещественные квадратные матрицы A, B, и C размером 4х4. Получить (АxВxС)^р, используя...

массивы и функции - C++
Помогите, пожалуйста, разобраться в следующем задании. &quot;Дан 2d массив А(n,n), который заполнен нулями и единицами. Узнать сколько колонн...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,909
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)? Ну и освободить память тоже бы не мешало...
Yandex
Объявления
13.11.2013, 02:04     функции и массивы
Ответ Создать тему
Опции темы

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