Помогни ни да направим Uroci.net по - богат! Добави урок
Категории Други уроци Adobe Photoshop Adobe Illustrator Adobe Flash Adobe Fireworks DreamWeaver CSS и HTML Corel Draw Image Ready PHP SEO CMS Microsoft Windows Microsoft Word Microsoft Excel PowerPoint Microsoft Access Microsoft Publisher Linux Visual basic JavaScript Ajax 3ds Max Maya 3D C++
C++
Sound Forge Gimp SWiSH

Програма за проверка на магически квадрат

C++ » C++
smurf4eto   трудност:    видян: 4632

 
В този урок ще ви покажа как да напишете програма, която да проверява дали въведена квадратна таблица е магически квадрат или не.
 
Това е сорс кода на програмата:
 

#include
int check()
{
int a[20][20],n;
cout << "Molia vavedete n.";
cin >> n;
for (int i=0; i
{
for (int j=0; j
{
cin >> a[i][j];
}
}
int sum1=0, sum2=0;
for (i=0; i
{
sum1+=a[i][i];
sum2+=a[i][n-1-i];
}
if (sum1!=sum2) return 0;
for (i=0; i
{
sum2=0;
for (int j=0; j
{
sum2+=a[i][j];
}
if (sum1!=sum2) return 0;
}
for (int j=0; j
{
sum2=0;
for (i=0; i
{
sum2+=a[i][j];
}
if (sum1!=sum2) return 0;
}
return 1;
}

int main()
{
if (check())
{
cout << "Tova e magicheski kvadrat.";
}
else cout << "Tova ne e magicheski kvadrat.";
return 0;
}


Използваме функции, за да напишем програмата. Фонкцията "check" извършва всички действия. Първоначално в нея декларираме двумерен масив с максимални размери 20 на 20. След това потребителя, който използва програмата трябва да въведе страните на квадратната мрежа - това става само с едно число. След въвеждането на големината на мрежата, потребителят въвежда всички числа (желателно е след края на всеки ред да натиска Enter, за да си личи точната мрежа). След като се въведат всички числа от мрежата, програмата започва проверки на сумите по всички редове, колони и диагонали.

Първоначално се проверяват и сверяват двата диагонала, като техните суми се запазват в променливите "sum1" и "sum2". Ако двете суми НЕ съвпадат, функцията приключва работа и преминава към функцията "main", където се извежда съобщение, че мрежата не е магически квадрат. Но ако сумите по двата диагонала съвпадат, започва проверка по редовете и колоните. При първото несъвпадение, функцията прекъсва работа. Ако всички сравнения на сумите по всички редове, колони и диагонали са верни, функцията "main" ще изведе съобщение, че въведената мрежа от числа е магически квадрат.

Автор: Ivan

 


Коментари (1)

VirtualWolf на 16.12 2007 в 00:23ч.
Това се нарича МНОГОМЕРЕН МАСИВ !!!! В случая ДВУМЕРЕН МАСИВ !!!

Регистрирайте се, за да добавите коментар

реклама

© Всички права запазени. 2006-2008. Created by: Site.bg
Препоръчваме: IT Новини | Кино и игри | Запознанства | Lafche.net | Тунинг Портал | uchenik.com | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | AnimeS-bg.com | Фото Форум | Запознанства | Мрежа от приятели | IT Light | Spodeli.net | Фото-Култ | Dalavera.net | IDG.BG | Teenproblem.net | mucunki.com | Блог - Образование | Fresh-BG.com | Hanovete.com | Bulfleet.com | Mythlands.com | Ohoboho.com | Казанлък.Com | Setcom.bg | Atol.bg | Elmaz.com | MobileBulgaria.com