Múi giờ UTC + 7 Giờ





Tạo chủ đề mới Gửi bài trả lời  [ 6 bài viết ] 
Người gửi Nội dung
 Tiêu đề bài viết: Xem dum em sai cho nao!!!
Gửi bàiĐã gửi: 09/03/10, 12:37 
Ngoại tuyến
Thành viên cấp 1

Ngày tham gia: 09/03/10, 12:31
Bài viết: 40
Đã cảm ơn: 0 lần
Và được cảm ơn: 1 lần
#include <stdio.h>
#include <conio.h>
void tangdan(int &n,int &day[])
{
int tam,i,j;
for (i=0; i<n-1; i++)
for (j=i+1; j<n; j++)
if (day[j] < day[i])
{
tam = day[i];
day[i] = day[j];
day[j] = tam;
}
}
void main()
{
int n,a[];
printf("Nhap n: ");
scanf(%d,&n);
for(int i=0;i<n;i++)
{
printf("Nhap a[%d]: ",i+1);
scanf("%d",&a[i]);
}
tangdan(n,a);
for(int i=0;i<n;i++)
printf("%2d",a[i]);
}

Tại sao nó báo lỗi vậy.Em mún viết 1 hàm tăng dần nên dùng tham chiếu "&day[]".Ai chỉ dùm chỗ sai để còn sửa.


Đầu trang
 Xem thông tin cá nhân  
 
 Tiêu đề bài viết: Re: Xem dum em sai cho nao!!!
Gửi bàiĐã gửi: 09/03/10, 13:30 
Ngoại tuyến
Thành viên cấp 1
Hình đại diện của thành viên

Ngày tham gia: 12/08/09, 22:23
Bài viết: 15
Đã cảm ơn: 5 lần
Và được cảm ơn: 1 lần
#include <stdio.h>
#include <conio.h>
void tangdan(int n,int day[])
{
int tam,i,j;
for (i=0; i<n-1; i++)
for (j=i+1; j<n; j++)
if (day[j] < day)
{
tam = day;
day = day[j];
day[j] = tam;
}
}
void main()
{
int n,a[20];
printf("Nhap n: ");
scanf( "%d" ,&n);
for(int i=0;i<n;i++)
{
printf("Nhap a[%d]: ",i+1);
scanf("%d",&a);
}
tangdan(n,a);
for(int i=0;i<n;i++)
printf("%5d",a);
}

_________________
***Out Of A Difficult ,Make A Miracle***


Đầu trang
 Xem thông tin cá nhân  
 
 Tiêu đề bài viết: Re: Xem dum em sai cho nao!!!
Gửi bàiĐã gửi: 09/03/10, 15:41 
Ngoại tuyến
Thành viên cấp 1

Ngày tham gia: 21/10/09, 18:53
Bài viết: 21
Đã cảm ơn: 2 lần
Và được cảm ơn: 2 lần
Mã:

<?php 

printf
(" Không học ko biet, học roi se biet ");


 
 


Đầu trang
 Xem thông tin cá nhân  
 
 Tiêu đề bài viết: Re: Xem dum em sai cho nao!!!
Gửi bàiĐã gửi: 09/03/10, 19:59 
Ngoại tuyến
Thành viên cấp 1
Hình đại diện của thành viên

Ngày tham gia: 18/01/10, 15:45
Bài viết: 94
Đến từ: DCT1095
Đã cảm ơn: 5 lần
Và được cảm ơn: 25 lần
Mã:
/*Chuong trinh sap xep tang dan*/
#include <stdio.h>
#include <conio.h>
void in(int a[], int n)                        //nhập
{
    for (int i=0; i<n; i++)
    {
      printf("Nhap a[%d]: ",i+1);
      scanf("%d",&a[i]);
    }
}
void process(int a[], int n)
{
    for (int i=0; i<n-1; i++)
      for (int j=i+1; j<n; j++)
        if (a[i]>a[j])
        {
          a[i]=a[i]+a[j];                     //thuật toán hoán đổi không cần biến tạm
          a[j]=a[i]-a[j];
          a[i]=a[i]-a[j];
        }
}
void ou(int a[], int n)                        //xuất
{
    for (int i=0; i<n; i++)
        printf("%d ",a[i]);
}
void main()
{
    clrscr();
    int a[50], n;
    printf("Nhap vao so phan tu mang: ");
    scanf("%d",&n);
    in(a,n);
    process(a,n);
    ou(a,n);
    getch();
}


[i][i][i][i][/i][/i][/i][/i]

_________________
Cheap Hosting + Domain click here to view more information



Đầu trang
 Xem thông tin cá nhân  
 
 Tiêu đề bài viết: Re: Xem dum em sai cho nao!!!
Gửi bàiĐã gửi: 10/03/10, 00:31 
Ngoại tuyến
Thành viên cấp 1

Ngày tham gia: 07/08/09, 10:18
Bài viết: 35
Đến từ: DCT1073
Đã cảm ơn: 1 lần
Và được cảm ơn: 6 lần
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>

void tangdan( int n, int *day ) // code ban đau: void tangdan( int &n, int &day[] )
{
int tam, i, j;
for (i = 0; i < n - 1; i++)
for (j = i + 1; j < n; j++)
if (day[j] < day) // cũng có thể viết *(day + i)
{
tam = day;
day = day[j];
day[j] = tam;
}
}

void main()
{
int n, *a; // code ban đau: int n, a[];

printf("Nhap n: ");
scanf("%d", &n); // code ban đầu: scanf(%d, &n);
a = new int[n];

for(int i = 0; i < n; i++)
{
printf( "Nhap a[%d]: ", i + 1 );
scanf("%d", &a);
}

tangdan(n, a);
for(int i = 0; i < n; i++)
printf( "%5d", a);
delete [] a;
getche(); // Khoi dung cai nay cung duoc
}

n không thay đổi giá trị nên dùng value cũng được, không nhất thiết phải dùng reference. Một điều nữa là khi dùng dynamic array thì có thể viết *(a + i) hoặc a[i].

Chúc bạn học tốt!

Liên hệ: thefirstninja007

_________________
Take it easy


Sửa lần cuối bởi DanhToai_Nguyen vào ngày 10/03/10, 01:53 với 3 lần sửa.

Đầu trang
 Xem thông tin cá nhân  
 
 Tiêu đề bài viết: Re: Xem dum em sai cho nao!!!
Gửi bàiĐã gửi: 10/03/10, 01:24 
Ngoại tuyến
Thành viên cấp 1

Ngày tham gia: 07/08/09, 10:18
Bài viết: 35
Đến từ: DCT1073
Đã cảm ơn: 1 lần
Và được cảm ơn: 6 lần
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>

void nhap( int *, int );
void sap_xep_tang( int *, int );
void hoan_doi( int *, int * );
void hien_thi( int *, int );

void main(void)
{
int n, *pointer;

printf("Nhap so luong phan tu cua mang: ");
scanf("%d", &n);

pointer = (int*)malloc( n * sizeof(int) );

nhap( pointer, n);
sap_xep_tang( pointer, n);
hien_thi( pointer, n);

free (pointer);

getche();
}

void nhap( int *arr, int n )
{
for( int i = 0; i < n; i++)
{
printf( "\nNhap a[%d] = ", i );
scanf( "%d", &arr[i] );
}
}

void sap_xep_tang( int *arr, int n )
{
for (int i = 0; i < n - 1; i++)
for (int j = i + 1; j < n; j++)
if (arr[j] < arr[i])
hoan_doi( &arr[j], &arr[i] );
}

void hoan_doi( int *a, int *y ) // trong c++: hoan_doi( int &a, int &y )
{
// day la cach khong can dung bien tam
*a = *a + *y;
*y = *a - *y;
*a = *a - *y;
}

void hien_thi( int *arr, int n )
{
int i = 0;
while (i < n)
{
printf( "\n a[%d] = %d", i, arr[i] );
i++;
}
}

Bạn nên sắp xếp main function cho dễ đọc bằng cách nhóm từng phần trong main function vào các function nhỏ. Việc nhóm này giúp mình dễ hiểu chương trình hơn, nhờ biết được chương trình sẽ làm những gì, hơn là biết chương trình làm việc như thế nào. Ngoài ra bạn cũng nên để main function vào một file .cpp, các function khác vào một file .cpp, khai báo function prototype (và khai báo dữ liệu tự tạo) vào một file .h. Sau khi chia chương trình ra thành ba file thì trong file chứa main function (vd: main.cpp), ngoài phần code sẽ có thêm đoạn khai báo là:

#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include "function.h" // giả sử rằng tên của file chứa function prototype (và định nghĩa kiểu dữ liệu tự tạo) là function.h

Trong file function.cpp, ngoài phần code của các function nhỏ, sẽ có đoạn khai báo là:

#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include "function.h"

File function.h chửa function prototype và định nghĩa kiểu dữ liệu tự tạo.

Chúc bạn học tốt

_________________
Take it easy


Đầu trang
 Xem thông tin cá nhân  
 
Hiển thị bài viết cách đây:  Sắp xếp theo  
Tạo chủ đề mới Gửi bài trả lời  [ 6 bài viết ] 
Trả lời nhanh
  

Múi giờ UTC + 7 Giờ


Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách.


Bạn không thể tạo chủ đề mới.
Bạn không thể trả lời bài viết.
Bạn không thể sửa những bài viết của mình.
Bạn không thể xóa những bài viết của mình.
Bạn không thể gửi tập tin đính kèm.

Tìm với từ khóa:
Chuyển đến:  
Diễn đàn sinh viên Việt Nam | Chia sẻ thông tin | Chia sẻ để được nhiều hơn
Dien dan sinh vien Viet Nam | Chia se thong tin | Chia se de duoc nhieu hon
phpBB open source. Extended by www.chiasethongtin.org