Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2011, 14:49   #1
artpro
 
Регистрация: 13.12.2011
Сообщений: 3
По умолчанию Исправление функции write(с++)

Помогите исправить функцию write!
////T-транспонированный массив,как //исправить функцию чтобы ///\выводился T???


#include<iostream>
using namespace std;
#include"Rus.h"
#define _USE_MATH_DEFINES
#include<math.h>
#include<time.h>
/*V.вариант
Написать программу, выполняющую в матрице размерностью n*m перестановку строк и столбцов (транспонирование матрицы).
Значения m и n программа должна запрашивать в диалоговом режиме, память под матрицу следует распределять динамически.
Напишите функции:
1. -заполнения двумерного массива случайными числами из диапазона –100, +100;
2. -вывода двумерного массива;
3. -перестановки строк и столбцов матрицы.*/
void funs(int* A, int n, int m, int min, int max);
void write(int* A, int* T, int n, int m);

void trans(int* A, int* T, int n, int m);


void trans(int* A, int* T, int n, int m)
{
int i, j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
T[n+j*i]=A[i*m+j];
//T[j*i]=A[i*m+j];
//T[j][i]=A[i*m+j];[j*i+n]+n
}
}

//wikibooks.org
}
void write(int* A, int* T, int n, int m)
{
int i, j;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
cout<<A[i*m+j]<<"\t";
cout<<T[n+j*i]<<"\t";
cout<<endl;
}
}
void funs(int* A, int n, int m, int min=-100, int max=100)
{
int i, j;
for(i=0; i<n; i++)
for(j=0; j<m;j++)
A[i*m+j]=rand()%(max+1-min)+min;
}
/*
void write(int* T, int n, int m)
{
int i, j;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
cout<<T[n+j*i]<<"\t"; //T-транспонированный массив,как //исправить функцию чтобы выводился T???
cout<<endl;
}
}
*/
int main()
{ int *A, n, m, *T;
srand(time(NULL));
cout<<Rus("Введите n и m""\n");
cin>>n>>m;
A=new int [n*m];
T=new int [m*n];
funs(A, n, m, -100, 100);
cout<<Rus("Массив A: ""\n");
write(A, T, n, m);
trans(A, T, n, m);

cout<<endl;
delete []A;
A=0;
delete []T;
T=0;



}
artpro вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исправление ошибки в функции lexflax Общие вопросы C/C++ 2 05.11.2011 08:48
Write не пишет в файл ReRayne Общие вопросы C/C++ 3 12.05.2011 17:13
Write in C VovanZ Свободное общение 9 11.02.2011 17:50
write to mySQL Ghennadiy PHP 2 20.01.2011 17:43
document.write Flamberg JavaScript, Ajax 1 10.01.2010 15:07