[ create a new paste ] login | about

Link: http://codepad.org/2DuEJf76    [ raw code | output | fork ]

C, pasted on May 6:
/* Bài 269/76/SBT Thầy NTTMK:Hãy thêm một giá trị x vào trong mảng tăng mà vẫn giữ nguyên tính đơn điệu tăng của mảng . 274.cpp */

/* Yêu cầu:Mảng ban đầu nhập vô phải là mảng tăng. */

/* Cách đi của hàm:

- duyệt từ đầu phần tử trở đi, gặp phần tử nào lớn hơn X
Vd: mảng : 1 2 3 4
X = 2
1 > X (sai) nên để nguyên 1 tại vị trí
2 > X (sai) nên để nguyên 2 tại vị trí
3 > X (đúng)

- làm công việc là lùi vị trí
vị trí : 0 1 2 3 4

mảng: 1 2 3 4

cho lùi từ vị trí 2 trở đi
vị trí : 0 1 2 3 4

mảng: 1 2 X 3 4
và cho chèn X vào vị trí tại 2, để X vào đúng vị trí a */
/* 

Tác giả: Nguyễn Việt Nam Sơn
Trung tâm đào tạo tin học - Thiết kế phần mềm - Sơn Đẹp Trai: www.SonDepTrai.com

Nguồn source code này Tôi viết vào năm 2012 lúc mới bắt đầu học lập trình C/C++ nên một số cách sẽ không được tối ưu - Bạn chỉ nên dùng trên tinh thần tham khảo thôi nhé.
Mong giúp đỡ được Bạn trên con đường Học Lập Trình.
TẤT CẢ VÌ SỰ THÀNH CÔNG CỦA BẠN

*/
#include<stdio.h>
#include<conio.h>
#define MAX 100

void nhapmang(int a[MAX],int &n,int &x)
{
	do{
		printf("Nhap vao so phan tu cua mang:n=");
		scanf("%d",&n);
		if(n<1||n>MAX)
			printf("So ban nhap vao khong hop le!Xin vui long nhap lai!\n");
		else
			break;
	}while(n<1||n>MAX);
	for(int i=0;i<n;i++)
	{
		printf("Nhap vao a[%d]=",i);
		scanf("%d",&a[i]);
	}
	printf("Nhap vao gia tri x can them:x=");
	scanf("%d",&x);
}


void xuatmang(int a[MAX],int n)
{
	for(int i=0;i<n;i++)
	{
		printf("%4d",a[i]);
	}
	printf("\n");
}

void ChenXMangTang(int a[MAX], int &n, int x) 
{
	for (int i=0; i<n;i++)
	{
		if (a[i]>x)
		{
			int temp = x;
			for (int k = n; k>i; k--)
			{
				a[k] = a[k-1];
			}
			a[i] = temp;
			break;
		}
		else
		{
			a[n]=x;
		}
	}
	n++;
} 

void main()
{
	int a[MAX],n,x,tieptuc;
	quaylai:nhapmang(a,n,x);
	printf("\n>>>>>>>>>>>>MANG VUA NHAP LA:<<<<<<<<<<<<<\n");
	xuatmang(a,n);
	printf("\n>>>>>>>>>>>>>MANG VUA THEM LA:<<<<<<<<<<<<<<<<<\n");
	ChenXMangTang(a,n,x);
	xuatmang(a,n);
	printf("\nBan co muon tiep tuc chay chuong trinh khong ? Neu co bam phim C,nguoc lai bam bat ky 1 phim nao khac de ket thuc\n");
	tieptuc=getch();
	if(tieptuc=='c'||tieptuc=='C')
		goto quaylai;
}


Output:
1
2
3
4
5
6
7
8
Line 17: error: conio.h: No such file or directory
Line 38: error: expected ';', ',' or ')' before '&' token
In function 'xuatmang':
Line 60: error: 'for' loop initial declaration used outside C99 mode
t.c: At top level:
Line 67: error: expected ';', ',' or ')' before '&' token
In function 'main':
Line 90: warning: return type of 'main' is not 'int'


Create a new paste based on this one


Comments: