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

Ортонормированная матрица + - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, формирующую по исходному BMP файлу новый BMP файл http://www.cyberforum.ru/cpp-beginners/thread285995.html
Написать программу, формирующую по исходному BMP файлу новый BMP файл в котором правая половина является зеркальным отражением левой. Помогите пожалуйста.
C++ Описать структуру с именем STUDENT Описать структуру с именем STUDENT, содержащую следующие поля:-фамилия и инициалы;-номер группы;-успеваемость (массив из пяти элементов).Написать программу, выполняющую следующие действия: -ввод с клавиатуры данных в массив, состоящий из 10 структур типа STUDENT; записи должны быть упорядочены по возрастанию среднего балла;-вывод на дисплей фамилий и номеров групп для всех студентов, имеющих... http://www.cyberforum.ru/cpp-beginners/thread285985.html
Разработать алгоритм C++
Всем доброго времени суток! Наткнулся вот на задачу,порешал,понял,что не могу даже алгоритм написать внятный на нее. Вот задача Назовем строку S правильной скобочной последовательностью, если она состоит только из символов '{', '}', '', '(', ')' и выполнено хотя бы одно из следующих трех условий: 1. S — пустая строка; 2. S можно представить в виде S=S1+S2+S3+...+SN (N>1), где Si —...
Строки C++
Дана строка, состоящая из слов, разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова, но разделенные одним символом "." (точка). В конце точку не ставить.
C++ Определить уравнение высоты треугольника из трех заданных точек. http://www.cyberforum.ru/cpp-beginners/thread285951.html
Вот сам заголовочный файл: #pragma once struct Point2D { double x, y; }; struct Line2D {
Visual C++ Сохранение данных разных типов в файл, MFC Здравствуйте, уважаемые. Я новичок в С++, поэтому нужна ваша помощь. Имеется проект MFC. В главное окно из диалоговых окон передаются данные(массив int, просто переменные int, куча переменных CString и выбранная дата в календаре). Нужно все эти данные при выборе соответствующего пункта меню сохранять в файл(через диалог сохранения файла), а при выборе другого пункта меню загружать эти же данные... подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.04.2011, 23:44     Ортонормированная матрица +
Вроде так
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
#include <iostream>
#include <iomanip>
 
template <class T>
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){
      std::cout << "\nMtarix[" << i << "][" << j << "] = ";
      std::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)
      std::cout << std::setw(3) << matrix[i][j] << ' ';
  }
  std::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;
  std::cout << "\n\nInput matrix size -> ";
  std::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);
  std::cout << '\n';
  output_matrix(matrix, matrix_size);
  std::cout << ( cheking(matrix, matrix_size)? "YES" : "NO" ) << std::endl;
  for(int i = 0; i < matrix_size; ++i)
    delete[] matrix[i];
  delete[] matrix;
}
 
Текущее время: 00:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru