SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Алгоритм програмчлал 
Багш: М.Цэцэнцэнгэл
Си хэлийн заагч
Си хэлийн заагч
Заагч төрөл 
Заагч (pointer) гэдэг нь компьютерын санах 
ойн нэгэн утгын заадаг объектыг хэлнэ. 
Заагч хувьсагч нь санах ойн хаягийг 
хадгалдаг байна.
Си хэлийн заагч 
Заагчийн зарлагаа нь энгийн хувьсагчийн 
зарлагаатай адил боловч хувьчсагчийн урд * 
тэмдэгтэй байдгаараа ялгаатай. 
int a; // engiin huvisagch 
int *a; // zaagch huvisagch
Заагч 
Заагч төрөл нь зөвхөн “unsigned int” утгыг л 
хадгалдаг. Тэрнээс биш урд нь тавьж байгаа 
өгөгдлийн төрөл өөр зориулалттай. 
float *a; // adil 
int *b; // adil
Хаяг авдаг Си хэлийн оператор 
& оператор нь Си хэлэнд тухайн хувьсагчийн 
санах ойд байрлаж байгаа хаягийг авдаг. 
Бид өмнө нь scanf() функцэд ашиглаж 
байсан. 
scanf(“%d”, &a);
Заагчид утга олгоё! 
int b; 
int *a; 
b = 17; 
a = &b; // b huvisagchiin hayg a zaagchid 
// hadgalagdlaa
Энэ үед оюутнууд
Санах ойд юу болж байна?
Заагч дахь утгыг авахдаа 
int b; 
int *a; 
b = 17; 
a = &b; 
printf(“%u”, a); // 1462 gej hevlene 
printf(“%d”, *a); // 17 gej hevlene
Энэ үед оюутнууд
Цуваа ба заагч 
int a[] = {10,20,30,40,50}; 
int *p; 
p = &a; 
printf(“%dn”, *p); // 10 
printf(“%dn”, *(p+1)); // 20 
printf(“%dn”, *(p+2)); // 30
Энэ үед санах ойд 
a 
p p+1 p+2 p+3 
Хаяг 2686712 2686716 2686720 2686724 
Утга 10 20 30 40 
printf(“%u”, a); // 2686712 
printf(“%u”, p); // 2686712 
Цувааны хувьсагч нь цуваа эхэлж байгаа санах ойн хаягийг хадгалж 
байдаг.
Бодлого 
Хоёр хувьсагчийн утгыг хооронд нь соль. 
a = 5; 
b = 7; байсныг 
a = 7; 
b = 5; болго.
Солих бодлогын шийдэл 1 
int a = 5; 
int b = 7; 
a = a + b; // b = 7, a = 5 + 7 = 12 
b = a - b; // a = 12, b = 12 - 7 = 5 
a = a - b; // b = 5, a = 12 - 5 = 7
Солих бодлогын шийдэл 2 
int a = 5; 
int b = 7; 
int tmp; 
tmp = a; 
a = b; 
b = tmp;
Солих үйлдлийг функц болгоё 
void swap(int a, int b) { 
int tmp; 
tmp = a; 
a = b; 
b = tmp; 
}
swap функцээ дуудъя 
void main() 
{ 
int a = 5; 
int b = 7; 
swap(a,b); 
printf(“a=%d b=%d”, a, b); 
}
Асуудлыг шийдье 
void swap(int *a, int *b) 
{ 
int tmp; 
tmp = *a; 
*a = *b; 
*b = tmp; 
}
swap функцээ дуудъя 
void main() 
{ 
int a = 5; 
int b = 7; 
swap(&a, &b); 
printf(“a=%d b=%d”, a, b); 
}

Weitere ähnliche Inhalte

Was ist angesagt?

давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритмEnkh Gvnj
 
Lec4 хereglegchiinpunkts
Lec4 хereglegchiinpunktsLec4 хereglegchiinpunkts
Lec4 хereglegchiinpunktsTuruu Tsogt
 
U.cs101 алгоритм программчлал-12
U.cs101   алгоритм программчлал-12U.cs101   алгоритм программчлал-12
U.cs101 алгоритм программчлал-12Badral Khurelbaatar
 
Салаалсан алгоритмын бодлогууд
Салаалсан алгоритмын бодлогуудСалаалсан алгоритмын бодлогууд
Салаалсан алгоритмын бодлогуудБаярсайхан Л
 
Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2Urantuya Purevtseren
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсБямбаа Авирмэд
 
u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7Khuder Altangerel
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогуудRenchindorj Monkhzul
 

Was ist angesagt? (20)

давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритм
 
Lec4 хereglegchiinpunkts
Lec4 хereglegchiinpunktsLec4 хereglegchiinpunkts
Lec4 хereglegchiinpunkts
 
U.cs101 алгоритм программчлал-12
U.cs101   алгоритм программчлал-12U.cs101   алгоритм программчлал-12
U.cs101 алгоритм программчлал-12
 
Sw203 Lecture5 Class Acess Modifiers
Sw203 Lecture5 Class Acess ModifiersSw203 Lecture5 Class Acess Modifiers
Sw203 Lecture5 Class Acess Modifiers
 
Sw203 Lecture10 Polymorphism
Sw203 Lecture10 PolymorphismSw203 Lecture10 Polymorphism
Sw203 Lecture10 Polymorphism
 
C cons
C consC cons
C cons
 
Салаалсан алгоритмын бодлогууд
Салаалсан алгоритмын бодлогуудСалаалсан алгоритмын бодлогууд
Салаалсан алгоритмын бодлогууд
 
Лекц 3 (Давталт)
Лекц 3 (Давталт)Лекц 3 (Давталт)
Лекц 3 (Давталт)
 
Лекц 10: (Рекурс)
Лекц 10: (Рекурс)Лекц 10: (Рекурс)
Лекц 10: (Рекурс)
 
Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2
 
массив
массивмассив
массив
 
Лекц №11
Лекц №11Лекц №11
Лекц №11
 
C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1
 
бодлого C++
бодлого C++бодлого C++
бодлого C++
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
 
Програмчлалын хэл
Програмчлалын хэлПрограмчлалын хэл
Програмчлалын хэл
 
u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7
 
Se304
Se304Se304
Se304
 
Cs203 lecture13 composition
Cs203 lecture13 compositionCs203 lecture13 composition
Cs203 lecture13 composition
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогууд
 

Andere mochten auch (9)

Bvleg4 combinatorics
Bvleg4 combinatoricsBvleg4 combinatorics
Bvleg4 combinatorics
 
Лекц 5 (Өгөгдлийн дүрслэл)
Лекц 5 (Өгөгдлийн дүрслэл)Лекц 5 (Өгөгдлийн дүрслэл)
Лекц 5 (Өгөгдлийн дүрслэл)
 
компьютеийн бүтэц
компьютеийн бүтэцкомпьютеийн бүтэц
компьютеийн бүтэц
 
Ush 2014 new3
Ush 2014 new3Ush 2014 new3
Ush 2014 new3
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэц
 
C# hicheelin lekts
C# hicheelin lektsC# hicheelin lekts
C# hicheelin lekts
 
Scientific calculator in c
Scientific calculator in cScientific calculator in c
Scientific calculator in c
 
Datastructure algoritm
Datastructure algoritmDatastructure algoritm
Datastructure algoritm
 

Ähnlich wie Лекц 9(Заагч) (20)

Ci hel
Ci helCi hel
Ci hel
 
си хэл 10
си хэл 10си хэл 10
си хэл 10
 
Лекц №13
Лекц №13Лекц №13
Лекц №13
 
U.cs101 лаборатори 1
U.cs101 лаборатори 1U.cs101 лаборатори 1
U.cs101 лаборатори 1
 
Video lab1-web
Video lab1-webVideo lab1-web
Video lab1-web
 
C lects (1)
C lects (1)C lects (1)
C lects (1)
 
лекц4
лекц4лекц4
лекц4
 
Лекц №8
Лекц №8Лекц №8
Лекц №8
 
онол
онолонол
онол
 
мэдээлэл зүйн жишиг даалгавар 8 р анги
мэдээлэл зүйн жишиг даалгавар 8 р ангимэдээлэл зүйн жишиг даалгавар 8 р анги
мэдээлэл зүйн жишиг даалгавар 8 р анги
 
Лекц №10
Лекц №10Лекц №10
Лекц №10
 
Лабораторийн ажил № 1
Лабораторийн ажил № 1Лабораторийн ажил № 1
Лабораторийн ажил № 1
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Dynamic web 3
Dynamic web 3Dynamic web 3
Dynamic web 3
 
Өгөгдлийн бүтэц 11
Өгөгдлийн бүтэц 11Өгөгдлийн бүтэц 11
Өгөгдлийн бүтэц 11
 
Dynamic web 3-4
Dynamic web 3-4Dynamic web 3-4
Dynamic web 3-4
 
баяраа сургалт
баяраа сургалтбаяраа сургалт
баяраа сургалт
 
Лекц №5
Лекц №5Лекц №5
Лекц №5
 
C lects (7)
C lects (7)C lects (7)
C lects (7)
 
Unshih hewleh uildel хичээл 3
Unshih hewleh uildel хичээл 3Unshih hewleh uildel хичээл 3
Unshih hewleh uildel хичээл 3
 

Mehr von Мөнхбаярын Цэцэнцэнгэл (7)

Lecture 12: File Handling
Lecture 12: File HandlingLecture 12: File Handling
Lecture 12: File Handling
 
Лекц 11: (Рекурс, Ханойн цамхаг)
Лекц 11: (Рекурс, Ханойн цамхаг)Лекц 11: (Рекурс, Ханойн цамхаг)
Лекц 11: (Рекурс, Ханойн цамхаг)
 
Лекц 8 (Функц)
Лекц 8 (Функц)Лекц 8 (Функц)
Лекц 8 (Функц)
 
Лекц 7 (Давталтуудын Си хэлэнд)
Лекц 7 (Давталтуудын Си хэлэнд)Лекц 7 (Давталтуудын Си хэлэнд)
Лекц 7 (Давталтуудын Си хэлэнд)
 
Лекц 4 (Тооллын Систем)
Лекц 4 (Тооллын Систем)Лекц 4 (Тооллын Систем)
Лекц 4 (Тооллын Систем)
 
Лекц 2 (Блок схем)
Лекц 2 (Блок схем)Лекц 2 (Блок схем)
Лекц 2 (Блок схем)
 
Лекц 1 (Алгоритм Програмчлал - 1)
Лекц 1 (Алгоритм Програмчлал - 1)Лекц 1 (Алгоритм Програмчлал - 1)
Лекц 1 (Алгоритм Програмчлал - 1)
 

Лекц 9(Заагч)