Көп өлшемді және екі өлшемді массивтермен жұмыс істеу технологиясы бірдей. Сондықтан екі өлшемді массивтерді қарастырамыз.
9.1-есеп. Минус 50-ден 100-ге дейінгі аралықтағы кездейсоқ бүтін сандардан тұратын 6×6 матрицасын құру керек. Барлық оң және теріс сандардың қосындысын есептеп, оны шығару керек. Матрицаның ең үлкен және ең кіші элементтерін тауып, экранға шығарыңыз.
Бағдарлама коды:
using System;
namespace ConsoleApplication1
{
class Program
{
public static int sp, so;
public static void sozd(int[,] ma)
{
Random rnd = new Random();
Console.WriteLine("Matrisa kyrildi!!");
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
ma[i,j] = rnd.Next() % 101 - 50;
Console.Write(ma[i, j]+"\t");
}
Console.WriteLine();
}
}
public static void polotr(int[,] ma)
{
sp = 0; so = 0;
for (int i = 0; i < 6; i++)
for (int j = 0; j < 6; j++)
if (ma[i,j] < 0)
so = so + ma[i,j];
else sp = sp + ma[i,j];
Console.WriteLine("On sandardin kosindisi = {0}", sp);
Console.WriteLine("Teris sandardin kosindisi = {0}", so);
}
public static void maxmin(int[,] ma)
{
int maxi = -100, mini = 150;
for (int i = 0; i < 6; i++)
for (int j = 0; j < 6; j++)
{
if (maxi < ma[i,j]) maxi = ma[i,j];
if (mini > ma[i,j]) mini = ma[i,j];
}
Console.WriteLine("Maksimal san = {0}", maxi);
Console.WriteLine("Minimal san = {0}", mini);
}
static void Main()
{
int[,] a = new int[6, 6];
int k = 0;
string buf;
while (k < 4)
{
Console.WriteLine("1 - Matrisanin kuru jane shigaru 6х6");
Console.WriteLine("2 - On jane teris sandardin kosindisin tabu");
Console.WriteLine("3 - Matrisanin maksimal, minimal sandarin tabu");
Console.WriteLine("4 - Bagdarlamadan shigu");
Console.WriteLine("Menu punktin tandaniz");
buf = Console.ReadLine();
k = Convert.ToInt32(buf);
switch (k)
{
case 1: sozd(a); break;
case 2: polotr(a); break;
case 3: maxmin(a); break;
default: break;
}
}
}
}
}
Бағдарлама жұмысы:
1 - Matrisanin kuru jane shigaru 6х6
2 - On jane teris sandardin kosindisin tabu
3 - Matrisanin maksimal, minimal sandarin tabu
4 - Bagdarlamadan shigu
Menu punktin tandaniz
1
Matrisa kyrildi!!
-43 50 31 42 39 5
33 -9 40 25 -16 45
-43 19 26 -27 -17 -12
24 26 21 -13 -4 2
-11 15 1 -43 40 50
8 13 -41 -37 -21 13
1 - Matrisanin kuru jane shigaru 6х6
2 - On jane teris sandardin kosindisin tabu
3 - Matrisanin maksimal, minimal sandarin tabu
4 - Bagdarlamadan shigu
Menu punktin tandaniz
2
On sandardin kosindisi = 568
Teris sandardin kosindisi = -337
1 - Matrisanin kuru jane shigaru 6х6
2 - On jane teris sandardin kosindisin tabu
3 - Matrisanin maksimal, minimal sandarin tabu
4 - Bagdarlamadan shigu
Menu punktin tandaniz
3
Maksimal san = 50
Minimal san = -43
1 - Matrisanin kuru jane shigaru 6х6
2 - On jane teris sandardin kosindisin tabu
3 - Matrisanin maksimal, minimal sandarin tabu
4 - Bagdarlamadan shigu
Menu punktin tandaniz
Есепті шешу алгоритмін дайындау барысында есеп жеке бөліктерге бөлінді: матрицаны құру мен оны шығару процессі, барлық оң және теріс элементтердің қосындысын есептеу, матрицаның ең үлкен және ең кіші элементтерін табу. Аталған процесстерді static void Main()әдісінде жеке статистикалық әдістер арқылы орындау бағдарламада менюді ұйымдастырады, бағдарлама кодының жеңіл және түсінікті болуына мүмкіндік береді.
Бағдарламада менюге арналған цикл меню тармағы таңдалғаннан кейін аяқталады (меню тармағы 4-ке тең).
Меню тармағының жұмысы switch операторы арқылы орындалады.
switch операторы мына пішімде жазылады:
switch (өрнек)
{
case таңдау тұрақтысы_1 : [операторлар тізімі; ]
case таңдау тұрақтысы_2 : [операторлар тізімі; ]
. . .
[ default операторлар тізімі; ]
}
Switch операторы екі бөлімнен тұрады. Оператордың бірінші бөлімінде switch қызметтік сөзі, ал одан кейін дөңгелек жақшаларда өрнек жазылады. Өрнек кез келген типте бола алады. Оны айқын емес түрде бүтін санды типтерге немесе char типіне түрлендіруге болады.
Екінші бөлімде case таңдау операторы арқылы бағдарламаны жалғастыру мүмкін нұсқалары анықталады. Егер switch сөзінен кейін өрнек 2-ге тең болса, онда бағдарламада тұрақтысы 2-ге тең case таңдау операторы ізделінеді және осы таңбадан (меткадан) кейін тұрған барлық операторлар орындалады.
Егер case таңдау операторының тұрақтысы мен switch операторынан кейін тұрған өрнектің мәні тең болмаса, онда бағдарлама default қызметтік сөзінен кейін тұрған операторларды немесе switch операторынан кейін орналасқан операторды орындауға көшеді.
«Операторлар тізімі» өту операторларымен аяқталуы тиіс, мысалы, break, goto немесе return операторлары.
Әдетте ең соңында break операторы қолданылады, ол switch операторын аяқтайды. Ол келесі таңдау операторының орындалуына жол бермейді.
Бірнеше таңдау операторларын ретті орындау үшін әдетте goto операторы қолданылады.
Достарыңызбен бөлісу: |