Việt Hàn Coder tuần 2

Thảo luận trong 'C/C++' bắt đầu bởi integer, 4 Tháng tư 2011.

  1. integer Tiếu Ngạo Giang Hồ

    Offline
    Số bài viết:
    1.695
    Đã được thích:
    1.313
    Điểm thành tích:
    900
    Tiếp nối Việt Hàn coder tuần 1. Lần này tôi tiếp tục mở lại chương trình này cho các bạn tham gia. không giống lần thứ nhất. đề bài tập trung vào cấu trúc dữ liệu và rất ít người tham gia, lần này sẽ mở rộng ra để giải quyết các bài toán thực tế.

    Khởi đầu sẽ là bài: Vẽ tam giác số sau
    1
    2 3 2
    3 4 5 4 3
    4 5 6 7 6 5 4
    5 6 7 8 9 8 7 6 5
    6 7 8 9 0 1 0 9 8 7 6
    7 8 9 0 1 2 3 2 1 0 9 8 7
    8 9 0 1 2 3 4 5 4 3 2 1 0 9 8
    9 0 1 2 3 4 5 6 7 6 5 4 3 2 1 0 9
    0 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 0


    Sau khi bài này được giải, các bạn có thể tùy ý ra đề, nhưng đề không được quá sơ sài.

    - Hôm nay là thứ 2, hạn cuối là thứ 2 tuần sau. mời các bạn đã và đang học C/C++ thử sức.
    - Bạn nào làm đúng nhiều câu nhất trong tuần hoặc trả lời được câu khó sẽ được đặt danh hiệu cá nhân tùy ý.
    Lưu ý: Người ra đề có thể là bất kỳ ai, chỉ cần bạn là người trả lời nhiều câu hỏi nhất hoặc tham gia tích cực.

    lyvinhr00minterpol thích bài này.
  2. hoekaka Windows 95

    Offline
    Số bài viết:
    359
    Đã được thích:
    114
    Điểm thành tích:
    90
    kẹo của tuần 1 ?
  3. lyvinhr00m cụ lý

    Offline
    Số bài viết:
    1.234
    Đã được thích:
    930
    Điểm thành tích:
    900
    Giải thích cái đề tì Nguyên ơi
  4. integer Tiếu Ngạo Giang Hồ

    Offline
    Số bài viết:
    1.695
    Đã được thích:
    1.313
    Điểm thành tích:
    900
    :"> Định đưa mà sợ không lấy.

    Vẽ tam giác cân như hình trên. tức là kết quả cuối cùng in ra như thế.
  5. interpol Friends

    Offline
    Số bài viết:
    1.414
    Đã được thích:
    1.462
    Điểm thành tích:
    1.550
    Làm được 5 hàng đâu rùi. 5 hàng cuối bị lỗi. Nó tăng dần lên luôn. làm sao để giới hạn <10 :((


    Mọi người test code này thử. Số dòng = 10
    PHP:
    #include<conio.h>
    #include<stdio.h>
    int main()
    {
    clrscr();
    int i=1,j,k,l;
    printf("so hang:") ;
    do 
    scanf("%d",&l) ;
    while(
    l<=0);
    printf("\n");
    for( ;
    i<=l;i++)
    {
    j=i;
    for(
    k=1;k<=l-j;k++)
    printf(" ");
    for( ; 
    j<2*i-1j++)
    printf("%d",j%10);
    for( ; 
    j>=ij--)
    printf("%d",j%10);
    printf("\n");
    }
    getch();
    return 
    0;
    }
    alt+F4 thích bài này.
  6. alt+F4 Core i3

    Offline
    Số bài viết:
    596
    Đã được thích:
    423
    Điểm thành tích:
    450
    Bon chen chút. 10 hàng ok:

    #include<stdio.h>
    #include<conio.h>

    int i,j,n, a[10];
    void main()
    {
    for (i=0;i<10;i++)
    {
    a=i;
    }
    for (i=1;i<10;i++)
    {
    n = 10 - i;
    for (j=1;j<n;j++)
    {
    printf(" ");
    }
    if (i==1) printf("1\n");
    else
    {
    for (j=0;j<i;j++)
    {
    n=i+j;
    if(n<10) printf("%d",a[n]);
    else printf("%d",a[n-10]);
    }
    for (j=i-2;j>=0;j--)
    {
    if((i+j)<10) printf("%d",a[i+j]);
    else printf("%d",a[i+j-10]);

    }
    printf("\n");
    }
    }
    getch();
    }


    Sau một hồi căng não, cũng chạy ngon lành.
    interpol thích bài này.
  7. hoekaka Windows 95

    Offline
    Số bài viết:
    359
    Đã được thích:
    114
    Điểm thành tích:
    90
    Cái này lúc học C# trong giáo trình có đưa đâu hỏi ntn .... cũng không biết ntn ... mày mò 4 ngày mới ra ntn.. không in ra được hình tam giác... chỉ in ra đc dãy số thôi :(

    Mã:
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int i=0, j=1;
    	for (j=1;j<11;j++)
    		{	for (i=0;i<j;i++)	cout<<(i+j)%10;	
    			i=i+j-1;
    			for (i=i-1;i>=j;i--)	cout<<i%10;
    			cout<<" "<<endl;
    		}
    	return 0;
    }
    
  8. takechij Windows 98

    Offline
    Số bài viết:
    386
    Đã được thích:
    165
    Điểm thành tích:
    140
    oh, cái này tớ đã làm lúc còn học kì 2, tiếc quá, code xóa hết tiêu :(
  9. chaoviethan Thành Viên Mới

    Offline
    Số bài viết:
    3
    Đã được thích:
    2
    Điểm thành tích:
    0
    Chào Việt Hàn IT

    Bài này cũng khá đơn giản! không chỉ 10 dòng đâu, thuật toán phía dưới mời bạn nhập bao nhiêu tùy ý!:D

    PHP:

    #include <stdio.h>
    #define MAX 15
    void main(){
        
    int i,j,k,t;
        
    clrscr();
        for(
    i=1;i<=MAX;i++){
            for(
    k=1;k<=(MAX+1)-i;k++){
               
    printf("  ");
            }
            for(
    j=0;j<i;j++){
               if((
    i+j)<10)
               
    printf("%d ",i+j);
               else
               
    printf("%d ",(i+j-(10*((i+j)/10))));
            }
            for(
    t=2;t<=i;t++){
               if((
    i+j-t)<10)
               
    printf("%d ",(i+j-t));
               else
               
    printf("%d ",(i+j-t-(10*((i+j-t)/10))));
            }
            
    printf("\n");
        }
        
    getch();
    }
    lyvinhr00minteger thích bài này.
  10. integer Tiếu Ngạo Giang Hồ

    Offline
    Số bài viết:
    1.695
    Đã được thích:
    1.313
    Điểm thành tích:
    900
    So sánh:

    nếu i và j >= 10 thì cách của chaoviethan mới giải quyết được. Bài của bạn làm rất tốt.

    Mời các bạn ra tiếp đề 2.
  11. viethung_9x Windows XP

    Offline
    Số bài viết:
    613
    Đã được thích:
    735
    Điểm thành tích:
    560
    kiếm cái kẹo của bác Nguyên xài chơi nào !!

Chia sẻ trang này