[ create a new paste ] login | about

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

C, pasted on May 6:
/* Bài 296/79/SBT Thầy NTTMK:Hãy liệt kê các mảng con tăng có chứa giá trị lớn nhất trong mảng . NAMSON: 253.cpp */
/* 

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>
#include<limits.h>
#define MAX 100

void nhapmang(int a[MAX],int &n)
{
	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]);
	}
}

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

int lonnhat(int a[MAX],int n)
{
	int max=INT_MIN;
	for (int i=0;i<n; i++)
	{
		if(a[i]>max)
			max=a[i];
	}
	return max;
} 

int kiemtramangtang(int b[MAX], int nb)
{
	for(int i=0; i<nb-1; i++)
	{
		if (b[i]>b[i+1])
			return 0;
	}
	return 1;
}

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

int kiemtracomax(int b[MAX],int nb,int max)
{
	for (int i=0; i<nb;i++)
	{
		if (b[i]==max)
		{
			return 1;
		}
	}
	return 0;
} 

void lietkecontangchuagiatrimax(int a[MAX], int n)
{
	int ChieuDai;
	int max=lonnhat(a,n);
	int b[100], nb;
	for (int i=0; i<n; i++)
	{
		for (ChieuDai = 1+i; ChieuDai<=n; ChieuDai++)
		{
			nb=0;
			for(int j=i; j<ChieuDai; j++)
			{
				b[nb]=a[j];
				nb++;
			}
			if (kiemtramangtang(b,nb)==1)
			{
				if (kiemtracomax(b,nb,max)==1) // gọi lại max ở hàm lonnhat để khai báo cho dòng lặp for này.
				{
					xuatmangcon(b,nb);
				}   
			}
		}
	}
} 


void main()
{
	int a[MAX],n,tieptuc;
	quaylai:nhapmang(a,n);
	printf("\n>>>>>>>>>>>>MANG VUA NHAP LA:<<<<<<<<<<<<<\n");
	xuatmang(a,n);
	printf("\n>>>>>>>>>>>>>CAC MANG CON TANG CO CHUA GIA TRI MAX LA:<<<<<<<<<<<<<<<<<\n");
	lietkecontangchuagiatrimax(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
9
10
11
12
13
14
15
16
17
Line 17: error: conio.h: No such file or directory
Line 17: error: expected ';', ',' or ')' before '&' token
In function 'xuatmang':
Line 36: error: 'for' loop initial declaration used outside C99 mode
In function 'lonnhat':
Line 46: error: 'for' loop initial declaration used outside C99 mode
In function 'kiemtramangtang':
Line 56: error: 'for' loop initial declaration used outside C99 mode
In function 'xuatmangcon':
Line 66: error: 'for' loop initial declaration used outside C99 mode
In function 'kiemtracomax':
Line 75: error: 'for' loop initial declaration used outside C99 mode
In function 'lietkecontangchuagiatrimax':
Line 90: error: 'for' loop initial declaration used outside C99 mode
Line 95: error: 'for' loop initial declaration used outside C99 mode
In function 'main':
Line 113: warning: return type of 'main' is not 'int'


Create a new paste based on this one


Comments: