Алматы экономика және статистика академиясы



Pdf көрінісі
бет9/11
Дата07.04.2017
өлшемі1,49 Mb.
#11217
1   2   3   4   5   6   7   8   9   10   11

№ 5  тәжірибелік жұмыс 

 

Тақырып:Екі өлшемді массивтермен жұмыс жасау. 

Тапсырма: Қойылған есепті шешуге арналған программа жазыңыздар. 

Есеп беру: Блок-схема және программа. 

 

1.

 

Жұмысты  орындаудың  әдістемелік  нұсқаулары 

 

Көп өлшемді массив.  Егер массиватауында бір ғана индекс болса,  онда ол массивті 

бір  өлшемді,  ал  екі  индекс  болса  –  екі  өлшемді  және  т.с.с.,  n  индекс  болса,  n  өлшемді 

массивдейді. Бір өлшемді массиввектор элементтері, ал екі өлшемді массивматрица болып 

табылады. 

Осы  айтылғандарға  сәйкес  массив  элементтері  былай  белгіленеді:  A[і],  B[і,][j]  және 

т.с.с.,Мұндағы  A[і]  бір  өлшемді  массивтің  і-ші    элементі,  оны  математикада  a

і 

түрінде 


белгілейді,  B[і][j]  екі  өлшемді  массивтің  і-жолы  мен  j-бағанасының  қиылысында  орна-

ласқан элементті белгілейді.  

Мысалы,  

 

Т[4][3] ; 



Мұнда индекстерді көрсетіп, одан соң массив элементтерінің өздерін пайдалана аламыз. 

Көп өлшемді массивтермен жұмыс атқарғанда, бір цикл операторының ішінде бірнеше 

цикл операторлары болуы мүмкін. Мысалы,  массив екі өлшемді болса, онда қайталау екі 


68 

 

рет, ал үш өлшемді болса қайталау үш рет және т.с.с. орындалады. Екі өлшемді массивті 



анықтау былай көрсетілуі мүмкін: 

типі[,] аты = new типі [,] { инициалдау_тізімі }; 

int[,] d = new int[,] {{1, 2, 3},{4, 5, 6 };  

Мысал. Екі өлшемдіа



3,4

массив элементтерінің арифметикалық ортасы мен әр жолдағы оң 

элементтері  санын анықтайық.  

using System; 

namespace Listing4_2 

class Classl 

    { static void Main( ) 

      { const int m = 3, n = 4; 

        int[,] a = new int[m, n] {  

                                    { 2,-2, 8, 9 },  

                                    {-4,-5, 6,-2 }, 

                                    { 7, 0, 1, 1 } 

                                 }; 

        

Console.WriteLine("Берілген массив:"); 

        for (int i = 0; i < m; ++i) 

           { 

             for (int j = 0; j < n; ++j) 

                 Console.Write("\t" + a[i,j]); 

             Console.WriteLine( ); 

           }  

        double sum = 0; 

        int nPosE1; 

        for (int i = 0; i < m; ++i) 

          { 

           nPosE1 = 0; 

           for (int j = 0; j < n; ++j) 

           { 

             sum += a[i, j]; 

             if (a[i, j] > 0) ++nPosE1; 

           } 

           

Console.WriteLine(" {0} жолда {1} теріс емес элементтер бар ", i, nPosE1); 

          } 

          

Console.WriteLine("Элементтердің арифметикалык ортасы : " + sum/m/n); 

        } 

    } 

} 

 

2. Тапсырмалар варианттары: 

 

   


1. А[5,5] массиві берілген. Массивтің тақ жолдарында орналасқан элементтердің ішінен 

ең кішісін табу. 

 

2. А[6,6] массиві берілген. Егер  массивте В-ға тең элемент болса, Х айнымалысына ең 



бірінші сондай элементтің сол жағындағы оң таңбалы  элементтердің қосындысының 

мәнін беру, керісінше жағдайда нөл мәнін беру керек. 

 

3. А[5,5] массиві берілген. В(5) массивін келесі ереже бойынша құру керек:  В(j) элементі 



А массивінің j-ші бағанындағы ең үлкен элементіне тең.  

4.  А[7,7]  массиві  берілген.  Бас  диагональдан  жоғары  орналасқан  жұп  оң  таңбалы 

элементтердің көбейтіндісі мен санын табу  керек. 


69 

 

 



5.  А[6,6]  массиві  берілген.  Жолдардың  оң  таңбалы  элементтерінің  қосындысын    табу 

керек  және  оларды  қосалқы  диагональдың  сәйкес  жолдарындағы  элементтерге 

теңестіру қажет. 

 

6.  А[5,5]  массиві  берілген.  В(5)  массивін  келесі  ереже  бойынша  құру  керек:    егер 



массивтің  і-ші жолында бір теріс таңбалы элемент бар болса, В(і)=1;  кері жағдайда 

В(і) =0 болуы тиіс. 

 

7.  А[6,6]  массиві  берілген.  В(6)  массивін  келесі  ереже  бойынша  құру  керек:    егер 



массивтің    j-бағанында  нөлге  тең  емес  элементтердің  саны  нөлге  тең  элементтердің 

санынан көп болса, В(j) = 1;  кері жағдайда В(j) = 0. 

  

8. А[7,7] массиві берілген. Қосалқы диагональдан жоғары орналасқан ең үлкен элементті  



табу керек. 

  

9.  А[7,7]  массиві  берілген.  В(7)  массивін  келесі  ереже  бойынша  құру  керек:  егер 



массивтің  і-ші жолындағы элементтері өсу ретімен тұрса, В(і)=1;  керісінші   жағдайда 

В(і) = 0. 

10.  А[6,6]  массиві  берілген.  В(6)  массивін  келесі  ереже  бойынша  құру  крек:  В(1)-ді  

бастапқы  диагональдағы  нөлдік  элементтердің  санына  теңестіру,  В(2)-ге  бастапқы 

диагональдан  жоғары  және  параллель  орналасқа  диагональдың  нөлдік  элементтердің 

санына теңестіру және т.с.с. 

 

№6тәжірибелік жұмыс 

 

Тақырыбы:Көпөлшемді массивтерді өңдеу. 

 

1 вариант 

1.

 



А(3,3) матрицасының кері диагоналінің жоғарғы жағында орналасқан 

элементтерінің қосындысын есептейтін программа жазыңыз. 

0

.

3



1

.

2



4

.

4



7

.

2



4

.

8



2

.

3



4

.

5



2

.

1



1

.

6



=

A

2.



 

B={b


ij

}, }, i=1,…,n

және  j=1, 2,…,m матрицасы берілген. Матрицаның ең үлкен 

теріс элементін анықтайтын программа жазыңыз.Бастапқы мәндер: n=4, m=4 

6

.

7



49

.

3



3

.

9



9

.

7



9

.

8



41

.

3



2

.

8



1

.

7



1

.

35



4

.

5



5

.

4



6

.

2



2

.

73



6

.

5



41

.

3



42

.

2





=



B



 



2 вариант 

1.

 



Берілген  А={a

ij

}, i=1,…,n 



және  j=1, 2,…,m матрицасы мен  Х={х

1



х

2

, …, 



х

n



векторының көбетіндісінен тұратын  В=(в

1



в

2

, …, 



в

n

) векторын табыңыз. В 



векторының әр компоненті 

=



=

n

k

k

ik

i

x

a

â

1

 



формуласы бойынша есептеледі. Бастапқы 

мәндер: n=4; m=4. 

.

1

.



4

9

.



1

1

.



3

5

.



2

,

4



.

2

4



.

2

2



.

3

0



.

1

2



.

1

5



.

3

4



.

0

6



.

1

4



.

16

5



.

3

1



.

1

0



.

3

5



.

2

4



.

11

0



1

.

3



=



=

X

A

 

2.



 

Берілген А={a

ij

}, i,j=1,…,n



матрицасының элементтерінің қосындысы ең үлкен 

жолының нөмірін анықтаңыз.Бастапқы мәндер: n=5  



70 

 

9



.

5

3



.

7

2



.

5

3



.

4

2



.

6

8



.

9

4



.

7

2



.

5

3



.

4

2



.

6

9



.

5

1



.

3

5



.

4

1



.

3

1



.

2

5



.

7

5



.

6

8



.

5

9



.

3

2



.

9

2



.

6

8



.

5

1



.

4

2



.

3

1



.

2

=



A



 



3 вариант 

1.

 



Берілген A={a

ij

} және  B={b



ij

} матрицаларының айырмасынан тұратын C={c

ij



матрицасын есептейтін программа құрыңыз. С матрицасының әр элементі  c



ij

=a

ij

-b



ij



i=1,n,  j=1,m 

формуласы бойынша есептеледі. Бастапқы мәндер: n=3, m=3  

4

.



8

5

.



6

5

.



4

4

.



7

1

.



3

1

.



4

2

.



5

1

.



2

5

.



3

,

7



.

3

2



.

4

5



.

6

4



.

8

9



.

3

1



.

5

2



.

7

1



.

6

5



.

4



=



=

B

A

 

2.



 

Нақты сандардан тұратын А={a

ij

}, i,j=1,…,n



матрицасы берілген. B=(b

1

, b



2

, …, b


n

векторын мына ереже бойынша құрастырыңыз: егер k(k=1,n) нөмірлі жолда оң 



элементтер саны теріс элементтер санынан көп болса, онда b

k

=1, 



кері жағдайда  

b

k



=0.   

Бастапқы мәндер: n=4 

7

.

4



8

.

2



4

.

1



2

.

1



2

.

1



4

.

6



6

.

2



2

.

1



4

.

0



2

.

0



6

.

0



4

.

1



2

.

0



6

.

0



8

.

0



4

.

2







=

A



 



4 вариант 

1.

 



Берілген A={a

ij

}, i=1,n,  j=1,m 



матрицасының абсолют шамасы бойынша ең үлкен 

элементі орналасқан жол мен бағана нөмірін табатын программа құрыңыз. 

Бастапқы мәндер: n=5, m=6 

 

32



41

39

19



61

89

71



56

103


99

85

56



33

49

7



5

3

4



72

8

46



32

41

72



4

1

.



2

4

.



5

96

7



5



=

A

2.



 

формуласы бойынша құрастырыңыз. А=(а

1



а



2

, …, 


а

n



жәнеY=(y

1

,y



2

, …, y

m



векторлары берілген.  



                                   

А=(-1,1; 2,6; 1,0B={b

ij

}, }, i=1,…,n 



және  j=1, 2,…,m матрицасын 

b

ij



=a

i

*y



j

i=1,…,n 

және  j=1, 2,…,m)                У=(3,2; 2,1; -2,3; 1,1).   

 

 



 

 

5

 

вариант 

1. 


Матрицаның бас диагоналінің төменгі жағында және бас диагональда орналасқан 

элементтерінің қосындысын есептейтін программа құрыңыз. Бастапқы мәндер: n=5, 



m=5 

71 

 

2



.

7

1



.

6

5



3

4

.



8

1

1



.

5

2



.

4

3



.

3

1



.

4

4



1

2

3



4

9

6



1

.

4



2

.

3



1

.

2



7

6

7



5

1

=



A

2. 



Берілген А={a

ij

}, i,j=1,…,n



және B={b

ij

}, i,j=1,…,n 



матрицаларының 

қосындысынан тұратын С={с

ij

}, i,j=1,…,n 



матрицасын (c

ij

=a



ij

+b

ij

i,j=1,…,n) 

құрастырыңыз. Бастапқы мәндер: n=4 

2

.

7



3

.

4



6

.

5



2

.

3



6

.

5



6

.

4



6

.

3



5

.

2



4

3

.



1

9

8



6

4

3



.

5

2



,

9

7



.

5

4



.

4

2



.

3

5



6

.

7



4

.

9



1

.

4



3

4

.



2

1

.



5

2

.



6

1

.



5

5

.



4

2

.



3

5

.



2



=

=



B

A



 



6

 

вариант 

1. 


С=(с1, с2, …, сn) векторының элементтерін 

=



=

=

n



i

ij

j

m

j

a

c

1

,



1

,

 



формуласы 

бойынша есептеп табыңыз. Бастапқы мәндер: i=4; j=3. 

4

.

6



2

.

8



5

.

7



4

.

5



1

.

4



2

.

3



1

.

2



5

.

4



6

.

2



51

.

3



4

.

56



4

.

2



=

A

 

2.



Берілген  А={aij}, i,j=1,…,n әр жолының ең үлкен элементін тауып, оны 

матрицаның осы жолының әр элементінен азайту тастау керек. Бастапқы мәндер: 

n=3 

8

.



9

4

.



5

8

.



3

2

.



9

3

.



6

3

.



8

9

.



7

6

.



2

1

.



3



=

A

.  


 

7 вариант 

3.

 



Берілген А квадрат матрицасының бағандары мен жолдарының орнын 

ауыстырыңыз. Бастапқы мәндер: n=6, m=6 

5

6

2



3

1

4



8

7

6



3

2

7



2

5

4



7

1

6



4

1

3



5

7

8



3

2

9



9

7

3



4

6

4



7

5

2



=

A

1.



 

А={a

ij

}, i=1,…,n



және  j=1, 2,…,m матрицасының әр бағанының ең үлкен 

элементтерінің қосындысын есептейтін программа құрастырыңыз. Бастапқы 

мәндер: n=4, m=5 


72 

 

4



.

7

2



.

8

1



.

9

6



.

3

2



.

7

6



.

8

4



.

2

9



.

3

1



.

4

6



.

3

1



.

7

4



.

3

3



.

9

2



.

8

3



.

7

2



.

6

1



.

5

4



.

3

5



.

2

5



.

2





=

A

 

8 вариант 



2.

 

Берілген А={a



ij

}, i=1,…,n 

және  j=1, 2,…,m матрицасының әр жолының оң 

элементтерінің арифметикалық ортасын есептейтін программа құрыңыз. Бастапқы 

мәндер: n=3, m=6 

5

5



.

4

4



.

5

1



.

452


21

.

7



4

7

2



.

3

4



947

.

2



0

5

1



.

6

3



.

4

3



.

5

4



3

1

.



2





=

A

 



3.

 

А={a

ij

}, i,j=1,…,n 



матрицасының бас диагоналінің жоғарғы жағында орналасқан 

элементтердің ең кішісін табатын программа жазыңыз. Бастапқы мәндер: n=4. 

5

.

1



4

.

5



9

.

5



3

.

1



8

.

9



2

.

6



2

.

3



4

.

2



7

.

9



1

.

7



4

.

6



2

.

3



4

.

5



7

.

8



7

.

4



5

.

2



=

A



 



9 вариант 

4.

 



Берілген D={d

ij

}, i=1,…,n 



және  j=1, 2,…,m матрицасының әр жолының ең үлкен 

элементін табыңыз. Бастапқы мәндер: n=4, m=5 

476

750


52

41

3



74

254


214

3

4



9

6

41



82

21

5



6

7

5



1

=

D

5.

 



Натурал n саны берілген. n ретті матрица тұрғызатын программа жазыңыз. 

n

n

n

n











2

1



0

0

1



0

0



 

 

10 вариант 

6.

 

Квадрат матрица берілген. Матрицаның әр жлының элементтерінің қосындысының 



ең үлкенін есептейтін программа құрыңыз. Бастапқы мәндер: n=5, m=5 

215


19

13

1



5

3

41



1

2

7



26

3

92



74

61

2565



4

72

8



9

537


1

2

3



4





=



A

 



73 

 

7.



 

B={b


ij

}, i, j=i,…,nn 

матрицасының оң және теріс элементтерінің айырмасын 

есептейтін программа жазыңыз. Бастапқы мәндер: n=4. 

3

.

6



1

.

5



3

.

4



2

.

7



4

.

5



2

.

4



4

.

3



3

.

2



2

.

2



9

.

3



2

.

6



1

.

5



5

.

4



4

.

7



5

.

4



4

.

3



=

B

 




Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   11




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет