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

Определить является ли матрица магическим квадратом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Непонятны некоторые функции http://www.cyberforum.ru/cpp-beginners/thread795105.html
Непонятны следующие функции, что они выполняют: (char)((int)('a')+j)) break; // что значит эта запись? char PROC(char s) // почему записывается в скобках новый char
C++ Задача на массив и строки Написать программу, которая вводит с клавиатуры массив, из N вещественных чисел, находит среди элементов массива минимальный и максимальный элементы и их количество и выводит результат пользователю; затем вводит с клавиатуры строку длиной не более 200 символов, еще одну строку длиной не более чем 10 символов и номер позиции, начиная с которой ищет первую позицию вхождения второй строки в первую,... http://www.cyberforum.ru/cpp-beginners/thread795084.html
C++ Удалить из числа все повторяющиеся цифры кроме первого вхождения. Ошибка в коде
Удалить из числа все повторяющиеся цифры кроме первого вхождения. Например: на входе: 112, на выходе: 12. В моем случаи: на входе: 112, на выходе: 12-86841313513. #include<stdio.h> #include<iostream> #include<math.h> #include<locale.h> using namespace std;
C++ считывание амперсанда
Нужно сделать считывание амперсанда без замены его в цикле. С использованием gets и sscanf. Добавлено через 4 часа 21 минуту #include "StdAfx.h" #include <windows.h> #include <iostream> #include <iomanip> #include <TCHAR.h> #include <time.h> #include <conio.h>
C++ Программирование с использованием массивов и строк http://www.cyberforum.ru/cpp-beginners/thread795055.html
Постановка задачи 1. Задан массив, состоящий из слов. Используя функции сформировать и вывести массив слов заданного типа. Восьмеричное Long; Шестнадцатеричное Int; 2. Задана строка, состоящая из слов. Слова друг от друга отделяются одним или несколькими пробелами. Количество символов не превышает 255. В конце текста ставится точка. Сформировать и вывести массив слов заданного типа....
C++ функция cos доброго времени суток столкнулся с проблемкой при работе с функцией cos и sin,дело в то что функция непонятно почему выдаёт непредсказуемые значения к примеру здесь: double vfRradians=(M_PI/180.)*(double)Angle; double vfCosinus=cos(vfRradians); при некоторых значениях работает нормально а при Angle==90 vfCosinus принимает значение больше 6,ради интереса я пересчитал всё на инженерном... подробнее

Показать сообщение отдельно
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,333
Завершенные тесты: 1
26.02.2013, 10:04     Определить является ли матрица магическим квадратом
Если на коленке:
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
#include <iostream.h> // Подключение заголовочного файла, где описаны cin и cout
int main(int argc, char* argv[])
{
const int n = 3;
int matrix[n][n] = {{1,2,3}, // Объявление и заполнение матрицы
                    {2,3,2},
                    {3,1,1}};
 
int Sum, TotalSum = 0;
for(int i=0; i<n; i++) // Цикл по перебору строк
  {
  Sum = 0; 
  for(int j=0; j<n; j++) // Цикл по перебору элементов в строке
    Sum += matrix[i][j]; // Суммирование всех элементов в строке
  if(i>0) // Если хотя бы не первая строка...
    {if(TotalSum != Sum) // ...сравнить сумму текущей строки с первой
      { // Если не равны
      cout << "Not magic square."; // Вывести сообщение
      cin.ignore(1); // Подождать ввода любого символа (чтобы успеть прочитать сообщение)
      return 1; // Выйти из функции main
      }
    }
  else // Если первая строка...
    TotalSum = Sum; // ...то запомнить общую контрольную сумму всей первой строки
  }
 
TotalSum = 0; // Та же фигня, но только перебор идет постолбцово
for(int i=0; i<n; i++)
  {
  Sum = 0;
  for(int j=0; j<n; j++)
    Sum += matrix[j][i];
  if(i>0)
    {if(TotalSum != Sum)
      {
      cout << "Not magic square.";
      cin.ignore(1);
      return 1;
      }
    }
  else
    TotalSum = Sum;
  }
 
cout << "It's a miracle!"; // Если программа дошла вот до сюда, то матрица волшебная
cin.ignore(1); 
return 0; // Выйти из main без ошибки
}
 
Текущее время: 20:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru