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

Определите, является ли заданная целочисленная квадратная матрица ортонормированной. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ перестановка елементов матрицы http://www.cyberforum.ru/cpp-beginners/thread1077396.html
помогите пожалуйста срочно)). Данная действительно квадратная матрица порядка 2n. Получить новую матрицу переставляя ее блоки размера nxn накрест.
C++ необъявленный идентификатор #include <conio.h> #include <iostream> using namespace std; int vichis(int,int,int&); void cifri(int); void main() { int a; setlocale(0,"rus"); cout<<"Введите число= "; http://www.cyberforum.ru/cpp-beginners/thread1077393.html
Скажите, пожалуйста, возможно ли код сократить еще? C++
Вот код моей программы. #include <fstream> int a,b,c; main(){ std::fstream i("input.txt"),o("output.txt", 2); i>>a>>b>>c; o<<(a>=b+c?"YES":"NO"); } в частности меня интересует можно ли укоротить эту строку
C++ Выполнить одно из указанных пользователем арифметических действий над двумя числами
Всем доброго дня! Помогите пожалуйста решить задачу. Задача: Разработайте программу, которая бы выполняла одно из указанных пользователем арифметических действий над двумя числовыми значениями.
C++ Нужно реализовать несколько ссылок http://www.cyberforum.ru/cpp-beginners/thread1077372.html
// вычисляет длину ASCII-строки (строка с нулем на конце) size_t strlen(const char* str); / // копирует source в destination и возвращает указатель на destination char* strcpy(char* destination, const char* source); // сравнивает строки лексикографически (как в телефонном справочнике). -1, если первая меньше второй, 0, если равны и 1, если первая больше второй int strcmp(const char*...
C++ Вывести элементы массива в виде таблицы и переставить его элементы местами Скажите каким образом переставляется двумерный массив ? К примеру : {1,2,3,4,5} мне нужно элементы поменять местами так чтобы последний (5) стал на место предпоследнего (4) и так со всеми элементами в массиве , у меня есть коды , там где я выводил мин./макс элемент в массиве (с этим более менее ясно) , а вот с перестановкой запутался ... Спасибо заранее. подробнее

Показать сообщение отдельно
K0DiBeN
Сообщений: n/a
21.01.2014, 14:45     Определите, является ли заданная целочисленная квадратная матрица ортонормированной.
Уважаемые эксперты,я начинающий программист С++.Дано такое задание:
Разработайте программу обработки массивов. Входные данные введите с клавиатуры. Результаты работы программы отобразите на экране.
Определите, является ли заданная целочисленная квадратная матрица размером N ортонормированной, т.е. такой, в которой скалярное произведение каждой пары различных строк равно 0,а скалярное произведение каждой строки на себя равно 1.
Делал по книге,и не могу понять почему она вообще не работает.Язык Visual studio 2013 c++.
Вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <iostream>
#include <iomanip>
using namespace std;
template <class T>
{int main()
size_t matrix_size;
cout « "\n\nInput matrix size -> ";
cin » matrix_size;
int **matrix = new int*[matrix_size];
for (int i = 0; i < matrix_size; ++i)
    matrix[i] = new int[matrix_size];
input_matrix(matrix, matrix_size);
cout « '\n';
output_matrix(matrix, matrix_size);
cout «(cheking(matrix, matrix_size) ? "YES" : "NO") « endl;
for (int i = 0; i < matrix_size; ++i)
    delete[] matrix[i];
delete[] matrix; }
T MOD(T a)
 
{
    return ((a) < 0 ? -(a) : (a));
}
 
void input_matrix(int **matrix, const size_t matrix_size)
{
    for (int i = 0; i << matrix_size; ++i)
    for (int j = 0; j << matrix_size; ++j)
    {
        cout « "\nMatrix[" « i « "][" « j « "] = "<<endl;
        cin » matrix[i][j];
    }
}
 
void output_matrix(int **matrix, const size_t matrix_size){
    for (int i = 0; i < matrix_size; ++i){
        for (int j = 0; j < matrix_size; ++j)
            cout « setw(3) « matrix[i][j] « ' ';
    }
    cout « '\n';
}
 
bool cheking(int **matrix, const size_t matrix_size)
{
    bool ort = true;
    int pr = 0;
    for (int i = 0; i < matrix_size - 1 && ort; ++i)
    {
        pr = 0;
        for (int k = i + 1; k < matrix_size && ort; ++k)
        for (int j = 0; j < matrix_size; ++j)
            pr += matrix[i][j] * matrix[k][j];
        if (MOD(pr) > 0.0001)
            ort = false;
    }
    for (int i = 0; i < matrix_size - 1 && ort; ++i)
    {
        pr = 0;
        for (int j = 0; j < matrix_size; ++j)
            pr += matrix[i][j] * matrix[i][j];
        if (MOD(pr - 1) > 0.0001)
            ort = false;
    }
    return ort;
}
 
int main() {
    size_t matrix_size;
    cout « "\n\nInput matrix size -> ";
    cin » matrix_size;
    int **matrix = new int*[matrix_size];
    for (int i = 0; i < matrix_size; ++i)
        matrix[i] = new int[matrix_size];
    input_matrix(matrix, matrix_size);
    cout « '\n';
    output_matrix(matrix, matrix_size);
    cout «(cheking(matrix, matrix_size) ? "YES" : "NO") « endl;
    for (int i = 0; i < matrix_size; ++i)
        delete[] matrix[i];
    delete[] matrix;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru