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

Đề tài: Chuyển chuỗi nhập vào thành mảng ASCII

  1. #1
    Ngày gia nhập
    10 2010
    Nơi ở
    Vinh City
    Bài viết
    7

    Mặc định Chuyển chuỗi nhập vào thành mảng ASCII

    Ý bài này là khi nhập vào ký tự thì sẽ chuyển qua mã ASCII sau đó lưu vào mảng. Em có làm thử (bắt buộc cái này phải làm hàm)
    Code:
    #include<stdio.h>
    #include<conio.h>
    
    void nhappt(int a[],int n)
    {int i;
    char s;
    	for(i=0;i<n;i++)
    	{
    	printf("Phan tu thu %d: ",i);
    	scanf("%s",&s);
    	a[i]=s;
    	}
    	return;
    }
    void main()
    {       int a[15];
    	int i,j,n;
    	printf("Nhap so phan tu cua tap hop: ");
    	scanf("%d",&n);
    	nhappt(a,n);
    	for(i=0;i<n;i++)
    	printf("%d ",a[i]);
    	getch();
    
    }
    Với đoạn code trên thì em thử printf cái mảng trong hàm thì ok ngon lành nhưng ra ngoài main thì nó bị xòe, mong các cao thủ chỉ giáo
    Cố gắng chưa bao giờ là đủ

  2. #2
    Ngày gia nhập
    12 2010
    Nơi ở
    Cần thơ
    Bài viết
    273

    Trích dẫn Nguyên bản được gửi bởi hirotran Xem bài viết
    Ý bài này là khi nhập vào ký tự thì sẽ chuyển qua mã ASCII sau đó lưu vào mảng. Em có làm thử (bắt buộc cái này phải làm hàm)
    Code:
    #include<stdio.h>
    #include<conio.h>
    
    void nhappt(int a[],int n)
    {int i;
    char s;
    	for(i=0;i<n;i++)
    	{
    	printf("Phan tu thu %d: ",i);
    	scanf("%s",&s);
    	a[i]=s;
    	}
    	return;
    }
    void main()
    {       int a[15];
    	int i,j,n;
    	printf("Nhap so phan tu cua tap hop: ");
    	scanf("%d",&n);
    	nhappt(a,n);
    	for(i=0;i<n;i++)
    	printf("%d ",a[i]);
    	getch();
    
    }
    Với đoạn code trên thì em thử printf cái mảng trong hàm thì ok ngon lành nhưng ra ngoài main thì nó bị xòe, mong các cao thủ chỉ giáo
    Coi kỹ cái này char s; với scanf("%s",&s); với lại tớ cũng khuyến khích sài fflush(stdin) trước mặt thằng scanf(..);
    Ai bất tài, tôi nhìn hoài chẳng thấy,
    Đi khắp phòng tôi lấy 1 tấm gương,
    Khẽ đặt lên một góc phía bức tường,
    Nhìn vào đó, tôi tận tường kẻ đó.

  3. #3
    Ngày gia nhập
    10 2010
    Nơi ở
    Vinh City
    Bài viết
    7

    hình như việc
    scanf("%s",&s)
    so với

    fflush(stdin);gets(s); nó cũng ko ảnh hưởng lắm thì phải
    Cố gắng chưa bao giờ là đủ

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3.  
    4. void nhappt(int a[],int n)
    5. {
    6.     int i;
    7.     char s;
    8.     for(i=0;i<n;i++)
    9.     {
    10.         printf("Phan tu thu %d: ",i);
    11.         fflush(stdin);
    12.         scanf("%c",&s); // sai chỗ này
    13.         a[i]=s;
    14.     }
    15.     return;
    16. }
    17. void main()
    18. {  
    19.     int a[15];
    20.     int i,j,n;
    21.     printf("Nhap so phan tu cua tap hop: ");
    22.     scanf("%d",&n);
    23.     nhappt(a,n);
    24.     for(i=0;i<n;i++)
    25.         printf("%d ",a[i]);
    26.     getch();
    27.  
    28. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  5. #5
    Ngày gia nhập
    10 2010
    Nơi ở
    Vinh City
    Bài viết
    7

    Trích dẫn Nguyên bản được gửi bởi meoconlongvang Xem bài viết
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3.  
    4. void nhappt(int a[],int n)
    5. {
    6.     int i;
    7.     char s;
    8.     for(i=0;i<n;i++)
    9.     {
    10.         printf("Phan tu thu %d: ",i);
    11.         fflush(stdin);
    12.         scanf("%c",&s); // sai chỗ này
    13.         a[i]=s;
    14.     }
    15.     return;
    16. }
    17. void main()
    18. {  
    19.     int a[15];
    20.     int i,j,n;
    21.     printf("Nhap so phan tu cua tap hop: ");
    22.     scanf("%d",&n);
    23.     nhappt(a,n);
    24.     for(i=0;i<n;i++)
    25.         printf("%d ",a[i]);
    26.     getch();
    27.  
    28. }
    thế bạn có thể viết lại hộ mình đoạn này để có thể lấy được mảng a[] ở trong main ko? Mình vẫn ko hiểu sao lại sai đoạn đó bởi vì mình thử printf cái mảng a[] ngay trong hàm thì kết quả vẫn đúng, chỉ có đưa ra main thì nó sai
    Cố gắng chưa bao giờ là đủ

  6. #6
    Ngày gia nhập
    12 2010
    Nơi ở
    Cần thơ
    Bài viết
    273

    Mặc định Chuyển chuỗi nhập vào thành mảng ASCII

    Trích dẫn Nguyên bản được gửi bởi hirotran Xem bài viết
    thế bạn có thể viết lại hộ mình đoạn này để có thể lấy được mảng a[] ở trong main ko? Mình vẫn ko hiểu sao lại sai đoạn đó bởi vì mình thử printf cái mảng a[] ngay trong hàm thì kết quả vẫn đúng, chỉ có đưa ra main thì nó sai
    Tớ đâu có thấy nó sai nhỉ ?

    Sài thế này là tiện nhất
    C Code:
    1. #include <stdio.h>
    2. #include <string.h>
    3. int main(void)
    4. {
    5.    char s[100];
    6.    printf("Input: ");
    7.    gets(s);
    8.    for (int i=0;i<strlen(s);i++) printf("%2d;",s[i]);
    9.    scanf("%*c");
    10.    return 0;
    11. }
    Ai bất tài, tôi nhìn hoài chẳng thấy,
    Đi khắp phòng tôi lấy 1 tấm gương,
    Khẽ đặt lên một góc phía bức tường,
    Nhìn vào đó, tôi tận tường kẻ đó.

  7. #7
    Ngày gia nhập
    10 2010
    Nơi ở
    Vinh City
    Bài viết
    7

    Trích dẫn Nguyên bản được gửi bởi azurelonely Xem bài viết
    Tớ đâu có thấy nó sai nhỉ ?

    Sài thế này là tiện nhất
    C Code:
    1. #include <stdio.h>
    2. #include <string.h>
    3. int main(void)
    4. {
    5.    char s[100];
    6.    printf("Input: ");
    7.    gets(s);
    8.    for (int i=0;i<strlen(s);i++) printf("%2d;",s[i]);
    9.    scanf("%*c");
    10.    return 0;
    11. }
    tớ printf cái mảng đó trong main thì nó ra kết quả lèo xèo.
    Ý tớ chính xác là thế này:
    Nhập vào tập hợp có n phần tử và mỗi phần tử là chữ cái --> đưa các chữ cái đó thành ascii rồi nhét vào mảng(viết theo hàm), còn của cậu làm là chuyển xâu s thành mảng ascii rồi, chắc tại tới diễn đạt kém quá nên hiểu sai ý
    Cố gắng chưa bao giờ là đủ

  8. #8
    Ngày gia nhập
    12 2010
    Nơi ở
    Cần thơ
    Bài viết
    273

    Trích dẫn Nguyên bản được gửi bởi hirotran Xem bài viết
    tớ printf cái mảng đó trong main thì nó ra kết quả lèo xèo.
    Ý tớ chính xác là thế này:
    Nhập vào tập hợp có n phần tử và mỗi phần tử là chữ cái --> đưa các chữ cái đó thành ascii rồi nhét vào mảng(viết theo hàm), còn của cậu làm là chuyển xâu s thành mảng ascii rồi, chắc tại tới diễn đạt kém quá nên hiểu sai ý
    À..mà ý cậu là code trên sai chổ nào...tớ kiểm thấy đúng mà ~~
    Ai bất tài, tôi nhìn hoài chẳng thấy,
    Đi khắp phòng tôi lấy 1 tấm gương,
    Khẽ đặt lên một góc phía bức tường,
    Nhìn vào đó, tôi tận tường kẻ đó.

  9. #9
    Ngày gia nhập
    10 2010
    Nơi ở
    Vinh City
    Bài viết
    7

    à à, rồi rồi %c <> %s, ra toàn bộ vấn đề nó là thế
    lúc nãy nhìn qua nhầm, thank mọi người
    Cố gắng chưa bao giờ là đủ

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

  1. Cách chuyển đổi các ký tự sang Mã ASCII trên C???
    Gửi bởi chipnin trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 12
    Bài viết cuối: 31-05-2012, 11:25 PM
  2. nhập chuỗi in ra bang mã ASCII?
    Gửi bởi thanhdieu trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 24-12-2010, 04:28 PM
  3. Hàm Chuyển từ Hex Sang Ascii và ngược lại
    Gửi bởi trần trân trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 04-04-2009, 09:52 PM
  4. Chuyển ký tự sang mã ASCII???
    Gửi bởi duaconcuanui trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 28-10-2008, 10:01 AM
  5. Code chuyển số sang mã ASCII
    Gửi bởi halfblood88 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 01-01-2008, 12:08 PM

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