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

С++ CodeBlocks Матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Параметры команды make http://www.cyberforum.ru/cpp-beginners/thread996012.html
Как правильно написать несколько параметров для команды make? Не получается #include <iostream> #include <stdlib.h> using namespace std; template<typename T1, typename T2> auto Max(const T1 &a, const T2 &b) -> decltype( (a>b)?a:b ) { return (a>b) ? a : b;
C++ дана целочисленная квадратная матрица порядка п дана целочисленная квадратная матрица порядка п, найти номера строк , элементы которых образуют симметричные последовательности(палиндром , например 1221) http://www.cyberforum.ru/cpp-beginners/thread995990.html
C++ дано К массивов целых чисел по N элементов в каждом массиве
дано К массивов целых чисел по N элементов в каждом массиве. Для каждого массива выполнить следующее действие: если в нем содержится число 2 , то вывести сумму элементов массива , если в массиве нет двоек, то вывести 0
Не получается C++
Определить пары натуральных чисел a<100 и b<100, произведение которых в 10 больше их суммы. Сколько таких пар? Расчетать общее количество пар и сами пары. Помогите написать решение.
C++ Не понятный глюк вызова перегруженной функции http://www.cyberforum.ru/cpp-beginners/thread995977.html
void f (std::wfstream&, bool, const char*, size_t , size_t); void f (std::wfstream&, int, const char*, size_t , size_t); void f (std::wfstream&, enum, const char*, size_t , size_t);, с фактическим параметром-явной константой вызывается вторая функция, а нужна третья. И прототипы, и сами функции имеются в наличии.
C++ Аналог SetLength(x, Length(x)+1) из Delphi в C++ Привет. Сабж. В Delphi можно таким образом работать с массивом: Объявление: x: array of Integer; Работа с массивом: SetLength(x, Length(x)+1); x := ...; Примерно таким образом. Можно ли аналогично работать с массивом в С++ и как? Нужно решить такую задачу: алгоритм будет искать пары точек (структура point, к примеру) и добавлять их в динамический массив. Пар может быть 100, может... подробнее

Показать сообщение отдельно
Andreyuni
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 5
03.11.2013, 11:43  [ТС]     С++ CodeBlocks Матрицы
#include <iostream>;
#include <stdlib.h>
#include <ctime>;
using namespace std;
float** A;
float** B;
float** C;
float** D;
float** A2;
float** B2;
int N;
float** Zapm(int N) // Заполнение матрицы
{float **A;
A = new float*[N];
for(int i = 0; i < N; i++)
{
A[i] = new float[N];
}
return A;
}
void Sluch(float **A, int N) // Заполнение случайными числами
{
srand(time(0));
for (int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
{
A[i][j] = rand() % 100;
}
}
void PrintMatrix(float** matrix, int N) // Печать матрицы
{
for(int i = 0; i < N; i++)
{
for(int j = 0; j < N; j++)
cout << matrix[i][j] << " ";
cout << endl;
}
cout << "
}
float MinInMatrix(float** matrix, int N) // Минимальный элемент в матрице
{
float min = matrix[0][0];
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
if(matrix[i][j] < min)
min = matrix[i][j];
return min;
}
float MaxInMatrix(float** matrix, int N) // Максимальный элемент в матрице
{
float max = matrix[0][0];
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
if(max < matrix[i][j])
max = matrix[i][j];
return max;
}
float** T(float** matrix, int N)
{
float** temp = new float*[N];
for(int i = 0; i < N; i++)
{
temp[i] = new float[N];
for(int j = i; j < N; j++)
{
temp[i][j] = matrix[j][i];
}
}
return temp;
}
float** E(int N) // Единичная матрица
{
float** temp = new float*[N];
for(int i = 0; i < N; i++)
{
temp[i] = new float[N];
temp[i][i] = 1;
}
return temp;
}
float** SumMatrix(float** A, float** B, int N) // Сумма матрицы
{
float** temp = new float*[N];
for(int i = 0; i < N; i++)
{
temp[i] = new float[N];
for(int j = 0; j < N; j++)
temp[i][j] = A[i][j] + B[i][j];
}
return temp;
}
float** Vich(float** A, float** B, int N) // Вычитание матриц
{
float** temp = new float*[N];
for(int i = 0; i < N; i++)
{
temp[i] = new float[N];
for(int j = 0; j < N; j++)
temp[i][j] = A[i][j] - B[i][j];
}

Добавлено через 1 минуту
#include <iostream>;
#include <stdlib.h>
#include <ctime>;

using namespace std;

float** A;
float** B;
float** C;
float** D;
float** A2;
float** B2;
int N;

float** Zapm(int N) // Заполнение матрицы
{float **A;

A = new float*[N];
for(int i = 0; i < N; i++)
{
A[i] = new float[N];

}
return A;
}
void Sluch(float **A, int N) // Заполнение случайными числами
{
srand(time(0));
for (int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
{
A[i][j] = rand() % 100;
}
}
void PrintMatrix(float** matrix, int N) // Печать матрицы
{
for(int i = 0; i < N; i++)
{
for(int j = 0; j < N; j++)
cout << matrix[i][j] << " ";
cout << endl;
}
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
}
float MinInMatrix(float** matrix, int N) // Минимальный элемент в матрице
{
float min = matrix[0][0];
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
if(matrix[i][j] < min)
min = matrix[i][j];
return min;
}
float MaxInMatrix(float** matrix, int N) // Максимальный элемент в матрице
{
float max = matrix[0][0];
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
if(max < matrix[i][j])
max = matrix[i][j];
return max;
}
float** T(float** matrix, int N)
{
float** temp = new float*[N];
for(int i = 0; i < N; i++)
{
temp[i] = new float[N];
for(int j = i; j < N; j++)
{
temp[i][j] = matrix[j][i];
}
}
return temp;
}
float** E(int N) // Единичная матрица
{
float** temp = new float*[N];
for(int i = 0; i < N; i++)
{
temp[i] = new float[N];
temp[i][i] = 1;
}
return temp;
}
float** SumMatrix(float** A, float** B, int N) // Сумма матрицы
{
float** temp = new float*[N];
for(int i = 0; i < N; i++)
{
temp[i] = new float[N];
for(int j = 0; j < N; j++)
temp[i][j] = A[i][j] + B[i][j];
}
return temp;
}
float** Vich(float** A, float** B, int N) // Вычитание матриц
{
float** temp = new float*[N];
for(int i = 0; i < N; i++)
{
temp[i] = new float[N];
for(int j = 0; j < N; j++)
temp[i][j] = A[i][j] - B[i][j];
}
return temp;
}
float** UmnNumMatrix(float** matrix, float a, int N) // Умножение матриц на число
{
float** temp = new float*[N];
for(int i = 0; i < N; i++)
{
temp[i] = new float[N];
for(int j = 0; j < N; j++)
temp[i][j] = matrix[i][j] * a;
}
return temp;
}
float** UmnMatMatrix(float** A, float** B,int N) // Умножение матриц
{
float** temp = new float*[N];
for(int i = 0; i < N; i++)
temp[i] = new float[i];
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
for(int k = 0; k < N; k++)
temp[i][j] += A[i][k] * B[k][j];
return temp;
}
int main()
{
cout << "Vvedite razmer matricy: ";
cin >> N;
A=Zapm(N);
B=Zapm(N);
A2=Zapm(N);
B2=Zapm(N);
C=Zapm(N);
D=Zapm(N);
Sluch(A,N);
Sluch(B,N);
cout << "Matrica A: " << endl;
PrintMatrix(A,N);

cout << "Matrica B: " << endl;
PrintMatrix(B,N);
for(int i = 0; i < N; i++)
{
float min = A[i][0]; // перемещение максимального на 1 место в сточке Матрица A
for(int j = 1; j < N; j++)
if(min > A[i][j])
min = A[i][j];
A[i][0] = min;
}
for(int i = 0; i < N; i++) // перемещение максимального на 1 место в сточке Матрица B
{
float min = B[i][0];
for(int j = 1; j < N; j++)
if(min > B[i][j])
min = B[i][j];
B[i][0] = min;
}
cout << "A maksim elem v ctroke :" << endl;
PrintMatrix(A,N);

cout << "B maksim elem v ctroke : " << endl;
PrintMatrix(B,N);
if ((MinInMatrix(A,N))==0)
cout << "Oshibka";
C = UmnNumMatrix(B,1.0/MinInMatrix(A,N),N); // B/min(A)
C = SumMatrix(A,C,N); // A+B/min(A)
C = Vich(C,E(N),N); // A+B/min(A)-E(N)
A2 = UmnMatMatrix(C,C,N); // (A+B/min(A)-E(N))^2
C = UmnNumMatrix(A2,3,N); // 3*(A+B/min(A)-E(N))^2
D = UmnMatMatrix(A,B,N); // (A*B)
B2 = UmnMatMatrix(D,D,N);
D = UmnMatMatrix(B2,B2,N); //(A*B)^3
D = UmnNumMatrix(D,4,N);// 4*(A*B)^3
C = SumMatrix(C,D,N); //3*(A+B/min(A)-E(N))^2+4*(A*B)^3
cout << "Matrica C: " << endl;
PrintMatrix(C,N);
D = Vich(A,B,N); //(A-B)
D = UmnNumMatrix(T(D,N),9,N); // 9*(A-B)T
C = SumMatrix(A,B,N); // A+B
A2 = UmnMatMatrix(C,C,N); // (A+B)^2
C = UmnNumMatrix(B,1.0/MaxInMatrix(B,N),N); //(A+B)^2*B/max(B)
D = Vich(D,C,N); //9*(A-B)T-(A+B)^2*B/max(B)
cout << "Matrica D: " << endl;
PrintMatrix(D,N);
return 0;
}
 
Текущее время: 08:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru