for давталтын тухай. Доорх код энэд байгаа. Энэ сайт бол анхан шатнаас нь эхэлж байгаа хүмүүст бол хамгийн зохимжтой сайт юм.
for( хувьсагчийн анхын утга; хувьсагчийн биелүүлэх нөхцөл; хувьсагчийн өөрчлөгдөх хэсэг ) {хэрвээ хувьсагчийн биелүүлэх нөхцөл үнэн байвал энэ {} хаалтан доторх үйлдлүүд хийгдэнэ.
энэ хаалтан доторх үйлдлүүд хийж дууссаны дараа хувьсагч нь өөрчлөгдөнө.
}
Ерөнхий бүтэц бол иймэрхүү.
- // Энэ удаад for давталтын тухай оруулна.
- #include <stdio.h>
- int main() {
- // Давталт нь гэдэг нь маш чухал зүйлийн нэг юм. (Энэ нээх чухал өгүүлбэр биш).
- // Бодлого. нэг бүхэл тоо өгөхөд 1-ээс тэр тоо хүртэл бүх тоог нэг мөрөнд хэвлээд
- // дараагийн мөрөнд 1-ээс тэр тоо хүртэлх 3д хуваагддаг тоонуудын нийлбэрийг ол.
- // энэ бодлогыг давталт ашиглаж бодно.
- // (Давталт үзэх гэж байж тодорхойшдээ яах гэж бичвээ).
- int n, i, s;
- // бид 3д хуваагддаг тоонуудын нийлбэрийг s гэсэн хувьсагчид хадгалцгаая.
- s = 0; // хэрэв бид s гэсэн хувьсагчийн анхны утгыг 0 гэж өгөхгүй бол s-ын
- // утга random буюу дурын утгаар зарлагдана. Энийг сайн санах хэрэгтэй!!!
- scanf("%d", &n); // 1 бүхэл тоогоо уншиж байна.
- /*
- for( хувьсагчийн анхын утга; хувьсагчийн биелүүлэх нөхцөл; хувьсагчийн өөрчлөгдөх хэсэг ) {
- хэрвээ хувьсагчийн биелүүлэх нөхцөл үнэн байвал энэ {} хаалтан доторх үйлдлүүд хийгдэнэ.
- энэ хаалтан доторх үйлдлүүд хийж дууссаны дараа хувьсагч нь өөрчлөгдөнө.
- }
- Ерөнхий бүтэц бол иймэрхүү.
- */
- for(i = 1; i <= n; i = i+1 ) {
- // энэ бодлогын хувьд 1ээс эхлэх ёстой тул хувьсагчийн эхлэх утга буюу
- // i = 1 болж байгаа юм. Өөрөөр хэлбэл i-ын анхны утга нь 1 юм.
- // харин биелүүлэх нөхцлийн хувьд бол 1-ээс N хүртэл хэвлэх ёстой тул i гэсэн
- // хувьсагч нь N-ээс бага буюу тэнцүү байвал энэ тоо 1-N хооронд оршиж чадна.
- // Иймээс i <= N бага буюу тэнцүү байх шаардлагатай.
- // өөрчлөгдөх нь бол бид 1, 2, 3,...N хүртэл хэвлэх тул энэ нь 1ээр өсж байгаа юм.
- // Иймээс i = i + 1; буюу i-д i+1 гэсэн утгыг оноож байна.
- // Жишээ нь i = 7 байсан гэвэл (i = i + 1) -> (i = 7+1) -> (i = 8);
- printf("%d ", i);// энэд хэвлэх ёстой.
- if( i%3 == 0 ) {
- // хэрвээ i гэсэн тоо нь 3д хуваасан үлдэгдэл нь 0 бол энэ тоо 3д хуваагдах тул
- // бидний олох ёстой нийлбэрт нэмэгдэнэ.
- s = s+i; // энэд s нь i-ын утгаар нэмэгдэж байна.
- }
- }
- printf("\n%d\n", s); // мөр шилжээд s-ыг хэвлээд мөр шилжиж байна.ы
- return 0;
- }
Comments
Post a Comment