С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Turbo Pascal Шейкерная сортировка. program Shaker; uses crt; var A:array of integer; N,i,k,x,j,d : integer; begin clrscr; write('Введите размер массива* '); read(N); for i:=1 to n do read(A); d:=1; i:=0; for k:=n-1 downto 1 do https://www.cyberforum.ru/ turbo-pascal/ thread197794.html Turbo Pascal Сортировка включением
Отсортировать строки массива целых чисел по убыванию. Сортировка включением. помогите плиз, заранее спасибо!!
Turbo Pascal Найти количество чисел на промежутку [a,b]. помогите плз с прогой, нужно сделать через одномерный массив. Задано последовательность из N чисел:a (1), a (2), a (3), ... , a (N). Найти количество чисел на промежутку . https://www.cyberforum.ru/ turbo-pascal/ thread197702.html Turbo Pascal Не играет звук - запускал прогу на разных компах и с 7ки и с xp, и через разные паскали (фри, турбо, абц, болард) выдает либо манатонный, не изменяемый звук, либо звук ошибки винды, либо просто какоето хлюпанье, заработало лиш на одном ноуте с turbo раскалем (ос 7)... может кто знает, как решить проблему Uses CRT; procedure Z; begin Delay(500); nosound; Delay(20); https://www.cyberforum.ru/ turbo-pascal/ thread197686.html
Turbo Pascal Найти сумму и количество элементов в каждом столбце матрицы, попадающих в интервал от А до Б
Прошу помочь с задачами... И если вам не трудно, то без сокращений, т.к. массивы не понимаю... Дан двумерный массив. Найти сумму и количество элементов в каждом столбце: 1) попадающих в интервал от А до Б; 2) являющихся простыми числами; 3) кратных K1 или K2. Заранее благодарен.
Turbo Pascal Генерация случайных чисел, лежащих в диапазоне от 0 до 10 включительно https://www.cyberforum.ru/ turbo-pascal/ thread197617.html
с помощью датчика случайных чисел получить 10 целых чисел, лежащих в диапазоне от 0 до 10 включительно!!!!!!!!! напишите в паскале плиииз завтро отчет надо сдовать
Turbo Pascal Вертикальная линия из символа * https://www.cyberforum.ru/ turbo-pascal/ thread197613.html
составить процедуру, рисующую на экране вертикальную льнию из любого числа символов ,,*''
Многомерные массивы Turbo Pascal
Помогите с заданием! О_о
Turbo Pascal Записи и файлы. . Дан файл f, содержащий сведения об игрушках: указывается названия игрушки (например, кукла, кубики, мяч, конструктор и т.д.), ее стоимость в копейках и возрастные границы детей, для которых игрушка предназначена (например, для детей от двух до пяти лет). Получить следующий сведение: можно ли подобрать игрушку, любую, кроме мяча, подходящую ребенку 3 лет, и дополнительно мяч так чтобы суммарная... https://www.cyberforum.ru/ turbo-pascal/ thread197590.html Turbo Pascal Вывести элементы матрицы, расположенные над главной диагональю https://www.cyberforum.ru/ turbo-pascal/ thread197573.html
Срочно нужно решение, помогите, а то запуталась. В квадратной матрице порядка n вывести элементы, расположенные над главной диагональю, которые не встречались под главной диагональю.
Turbo Pascal Изменить
И во ещё одну Program revers; uses crt; var s1,s0,ch,simv,sz:string; m,i,j:integer; procedure Obrashenie(var s:string);forward; procedure Obrashenie1(var sm:string); Begin
Turbo Pascal Измените Ребята есть программа,надо изменит ее как нибудь чтобы препод не запалила uses crt; var A:array of integer; i,n,j,p:integer; procedure Poisk(k:integer);forward; procedure Poisk1(l:integer); Begin Poisk(p); End; https://www.cyberforum.ru/ turbo-pascal/ thread197544.html
56 / 56 / 20
Регистрация: 07.02.2011
Сообщений: 159
07.02.2011, 21:48 0

Магический квадрат - Turbo Pascal - Ответ 1350830

07.02.2011, 21:48. Показов 2246. Ответов 3
Метки (Все метки)

Ответ

program test;
uses
crt;
const
n = 2; {размерность массива}
type
Tarr = array[1..n, 1..n] of integer; {тип квадратной матрицы}
{==========================================}
{печатаем все элементы матрицы проходя по колонкам и спускаясь последовательно по строкам}
procedure printArr(x : Tarr; s : string);
var
i, j : byte;
begin
writeln(s);
for i := 1 to n do
begin
for j := 1 to n do
begin
write(x[i, j]:4); {масштаб равен 4, этого достаточно, поскольку максимальная длина составляет вообще 1 символ}
end;
writeln;
end;
end;
{==========================================}
{заполняем стартовый массив случайными числами, желательно взять небольшой диапазон, поскольку иначе будут огромные проблемы с нахождением
магического квадрата}
procedure insertDataByPC(var x : Tarr);
var
i, j : byte;
begin
for i := 1 to n do
begin
for j := 1 to n do
begin
x[i, j] := random(2) + 1; {хотите садо мазо, поставьте здесь хотя бы random(20)}
end;
end;
end;
{==========================================}
{функция, возвращающая истину, если поданный ей парамет является магическим числом, иначе ложь}
function magic(x : Tarr) : boolean;
var
number : integer; {хранит то самое число, с которым предстоит сравнить сумму каждой строки и колонки матрицы}
i, j : byte;
tmp : integer; {отвечает за сумму элементов текущей строки / столбца}
b : boolean; {если истина, значит матрица - магическое число}
begin
b := true; {предполагаем изначально, что матрица магическая и смотрим как программа быстро развивает это убежденеие(обычно, но не всегда}
number := 0;
for i := 1 to n do
begin
number := number + x[1, i]; {нужно от чего отталкиваться при расчетах. Почему бы не взять сумму элементов первой строки}
end;

for i := 2 to n do
begin
tmp := 0;
for j := 1 to n do
begin
tmp := tmp + x[i, j];
end;
if(tmp <> number) then {если сумма i - ой строки матрицы не равна number, значит это уже не магическая матрица. Все логично.}
begin
b := false;
break; {заканчиваем расчет, поскольку смысла нет никакогов}
end;
end;

for i := 1 to n do
begin
tmp := 0;
for j := 1 to n do
begin
tmp := tmp + x[j, i];
end;
if(tmp <> number) then {если сумма j - ой колонки матрицы не равна number, значит это уже не магическая матрица. Все логично.}
begin
b := false;
break;
end;
end;

if(b = false) then
begin
magic := false; {возвращаем ложь, если это не магичесий квадрат иначе соот - но истину. Все просто.}
end
else
begin
magic := true;
end;
end;
{==========================================}
var
arr : Tarr;
begin
clrscr;

randomize;
insertDataByPC(arr);
textColor(red);
printArr(arr, 'Начальный массив имеет вид: ');
textColor(green);
if(magic(arr)) then
begin
writeln('Поздравляю! Данная матрица магический квадрат');
writeln('что честно говоря большая редкость');
end
else
begin
writeln('Это не магический квадрат');
end;
end;
readln;
end.

Добавлено через 1 минуту
только вот блок-схемы нет

Вернуться к обсуждению:
Магический квадрат Turbo Pascal
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
07.02.2011, 21:48
Готовые ответы и решения:

Магический квадрат
дана целая квадратная матрица n-порядка. Определить, являеться ли она магическим квадратом, т.е....

Магический квадрат
Помогите, пожалуйста, решить задачу. Дана целая квадратная матрица n-го порядка. Определить...

Магический квадрат
Только вернулся со второго тура районной олимпиады где занял второе место, вот одна из задач....

Магический квадрат
Дана матрица 3x3. Определить является ли матрица магическим квадратом. Кто может помочь решить ?...

3
07.02.2011, 21:48
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
07.02.2011, 21:48
Помогаю со студенческими работами здесь

Магический квадрат
Нужно определить, является ли матрица NxN магическим квадратом. Как описать главную диагональ я...

магический квадрат
написать программу, использующую подпрограмму, которая проверяет, является ли введенная матрица...

Построить магический квадрат
Написать программу, которая позволяет построить магический квадрат любой четности при 10&lt;=n&lt;=5

Построить магический квадрат порядка n
построить магический квадрат порядка n в pascal. чтоб по горизонтали по вертикали и по диагонали...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru