Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Giải thích hoạt động của các vòng for

  1. #1
    Ngày gia nhập
    03 2007
    Nơi ở
    Việt Nam
    Bài viết
    8

    Wink Giải thích hoạt động của các vòng for

    Bài C++ này mình suy nghĩ mãi mà vẫn không hiểu được, Các ban giải thích giùm mình nha:

    C++ Code:
    1. #include<iostream.h>
    2. #include<conio.h>
    3. void main()
    4. {
    5.    clrscr();
    6.    int x,y,n;
    7.    cout<<"\nNhap vao mot so nguyen duong: ";
    8.    cin>>n;
    9.    for(x=n;x>=1;x--)
    10.      {
    11.       for(y=n-x+1;y>=1;y--)
    12.       if(y<x)
    13.       cout<<"*";
    14.       cout<<endl;
    15.      }
    16.     getch():
    17. }

    /*n=5:
    1,* Mình nghĩ vậy có đúng không nhé: khi mà y<x; y sẽ chạy từ
    2,** giá trị y=n-x+1 cho tới 1 (từ dòng 1 tới dòng 2) đến khi
    3,** y>=x thi khong chạy nữa vậy thì 2 dòng cuối (3,4) tại sao
    4,* lại vẫn xuất hiện vậy

    n=6:
    *
    **
    ***
    **
    *
    */
    Các bạn nói rõ giúp mình nhe, Cám ơn các bạn rất nhiều!
    Đã được chỉnh sửa lần cuối bởi knownledge : 26-04-2007 lúc 09:23 AM.

  2. #2
    No Avatar
    namleb Khách

    Trích dẫn Nguyên bản được gửi bởi knownledge Xem bài viết
    #include<iostream.h>
    #include<conio.h>
    void main()
    {
    clrscr();
    int x,y,n;
    cout<<"\nNhap vao mot so nguyen duong: ";
    cin>>n;
    for(x=n;x>=1;x--)
    {
    for(y=n-x+1;y>=1;y--)
    if(y<x)
    cout<<"*";
    cout<<endl;
    }
    getch():
    }
    x chạy từ n --> 1
    ...y chạy từ n-x+1 --> 1
    ......nếu x>y thì in "*"

    x=6 (tức n=6)
    ...y chạy từ (6-6+1)=1--> 1
    ......x > y => in "*"
    x=5
    ...y chạy từ (6-5+1)=2 --> 1
    ......x > y{2, 1} => in "**" //ứng với 2 giá trị x > 2 và x>1
    x=4
    ...y chạy từ (6-4+1)=3 --> 1
    ......x > y{3, 2, 1} => in "***" //ứng với x>3, x>2, và x>1
    x=3
    ...y chạy từ (6-3+1)=4 --> 1
    ......x > y{2, 1} => in "**" //tập y là {4,3,2,1} nhưng chỉ có 2 giá trị <x
    x=2
    ...y chạy từ (6-2+1)=5 --> 1
    ......x > y{1} => in "*" //tập y là {5,4,3,2,1} nhưng chỉ có {1} < x vì x=2
    x=1
    ...y chạy từ (6-1+1)=6-->1
    ......x ko lớn hơn y nào, ko in
    x=0 thoát.
    Đã được chỉnh sửa lần cuối bởi namleb : 26-04-2007 lúc 09:36 AM.

  3. #3
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Chắc lại là in mấy cái hình sao gì đây rồi , U cứ chạy bằng tay từng bước 1 step on step rồi nghiệm ra thôi !

  4. #4
    Ngày gia nhập
    03 2007
    Nơi ở
    Việt Nam
    Bài viết
    8

    Thanks very much!

Các đề tài tương tự

  1. Vòng lặp for lồng nhau, giải thích giúp em cách hoạt động?
    Gửi bởi tucute89 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 11
    Bài viết cuối: 27-06-2013, 02:28 PM
  2. các bạn chỉ dùm vòng lặp cho textbox hoặc label trong c#
    Gửi bởi dophuhao trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 28-04-2013, 08:41 AM
  3. Viết chương trình minh hoạ các sự kiện trong vòng đời của form
    Gửi bởi newsun trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 12-04-2013, 07:13 PM
  4. Nguyên lý hoạt động của vòng lặp for. Xin giải thích giúp?
    Gửi bởi vanthanh020489 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 31-03-2010, 12:48 AM
  5. Vòng lặp for hoạt động như thế nào?
    Gửi bởi monghoado trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 27-11-2006, 09:27 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn