Bài tập về Mảng 1 chiều

root

Well-Known Member
  1. Viết hàm liệt kê các giá trị chẵn trong mảng 1 chiều các số nguyên
  2. Viết hàm liệt kê các vị trí mà giá trị tại đó là giá trị âm trong mảng 1 chiều
  3. Viết hàm tìm giá trị lớn nhất trong mảng 1 chiều các số thực
  4. Tìm Giá trị dương đầu tiên trong mảng 1 chiều các số thực.
  5. Tìm Số chẵn cuối cùng trong mảng 1 chiều các số nguyên
  6. Tìm 1 vị trí mà giá trị tại đó là giá trị nhỏ nhất trong mảng 1 chiều các số thực
  7. Tìm Vị trí của giá trị chẵn đầu tiên trong mảng một chiều các số nguyên.
  8. Tìm vị trí số hoàn thiện cuối cùng trong mảng 1 chiều các số nguyên.
  9. Hãy tìm giá trị dương nhỏ nhất trong mảng các số thực.
  10. Hãy tìm vị trí dương nhỏ nhất trong mảng 1 chiều các số thực - đoạn [0,n-1]


Nguồn : http://goccay.vn/showthread.php?8966-Tong-hop-Bai-tap-ve-mang-1-chieu

Deadline : 20h - 22/12/2013
 

StarWar

New Member
1.Viết hàm liệt kê các giá trị chẵn trong mảng 1 chiều các số nguyên



Code:
#include <stdio.h>
#include <conio.h>
void main()
{
	int mang[10];//Khoi tao mang 10 so nguyen
	printf("Nhap day cac so nguyen \n");
	for(int i=0;i<10;i++)//i chay tu 0 den 9,phan tu thu 10 cua mang dung de luu ki tu trong
	{
		printf("\nNhap so nguyen thu %d: \n",i+1);//phan tu 0 dung de luu so nguyen thu nhat nen phan tu thu n se luu so nguyen thu n+1
		scanf("%d",&mang[i]);
	}
	printf("Cac so nguyen chan can tim la: \n");
	for(int i=0;i<10;i++)
	{
		if(mang[i]%2==0)//Kiem tra xem so nao chia het cho 2 thi do la so chan can tim
			printf(" %d ",mang[i]);
	}
	getch();
	
}
 
Last edited:

StarWar

New Member
Viết hàm liệt kê các vị trí mà giá trị tại đó là giá trị âm trong mảng 1 chiều


Code:
#include <stdio.h>
#include <conio.h>
void main()
{
	int mang[10];//Khoi tao mang 10 so nguyen
	printf("Nhap day cac so nguyen \n");
	for(int i=0;i<10;i++)//i chay tu 0 den 9,phan tu thu 10 cua mang dung de luu ki tu trong
	{
		printf("\nNhap so nguyen thu %d: \n",i+1);//phan tu 0 dung de luu so nguyen thu 1; nen phan tu thu n se luu so nguyen thu n+1
		scanf("%d",&mang[i]);
	}
	printf("Cac vi tri co so nguyen am can tim la: \n");
	for(int i=0;i<10;i++)
	{
		if(mang[i]<0)//Kiem tra xem so nao nho hon khong thi la so am
			printf(" %d ",i+1);//in ra vi tri so nguyen can tim la vitrimang +1
	}
	getch();
	
}
 

StarWar

New Member
Viết hàm tìm giá trị lớn nhất trong mảng 1 chiều các số thực


Code:
#include <stdio.h>
#include <conio.h>
void main()
{
	float max;
	float mang[10];//Khoi tao mang 10 so thuc
	printf("Nhap day cac so nguyen \n");
	for(int i=0;i<10;i++)//i chay tu 0 den 9,phan tu thu 10 cua mang dung de luu ki tu trong
	{
		printf("\nNhap so thuc thu %d: \n",i+1);//phan tu 0 dung de luu so thuc thu 1; nen phan tu thu n se luu so thuc thu n+1
		scanf("%f",&mang[i]);
	}
	max=mang[0];//Khoi tao max la so thu nhat
	for(int i=0;i<10;i++)
	{
		if(mang[i]>max)//Neu mang[i]>max thi gan max=mang[i]
		max=mang[i];
	}
	printf("So lon nhat can tim la: %0.3f \n",max);
	getch();
	
}
 

StarWar

New Member
Tìm Giá trị dương đầu tiên trong mảng 1 chiều các số thực.

Code:
#include <stdio.h>
#include <conio.h>
void main()
{
	float mang[10];//Khoi tao mang 10 so thuc
	printf("Nhap day cac so nguyen \n");
	for(int i=0;i<10;i++)//i chay tu 0 den 9,phan tu thu 10 cua mang dung de luu ki tu trong
	{
		printf("\nNhap so thuc thu %d: \n",i+1);//phan tu 0 dung de luu so thuc thu 1; nen phan tu thu n se luu so thuc thu n+1
		scanf("%f",&mang[i]);
	}
	
	for(int i=0;i<10;i++)
	{
		if(mang[i]>0)
		{
		printf("So duong dau tien can tim la: %0.3f \n",mang[i]);
		break;//thoat khoi vong lap va in ra so duong dau tien
		}
		else
		printf("Khong tim thay so duong trong mang\n");
	}
	
	getch();
	
}
 

StarWar

New Member
Tìm Số chẵn cuối cùng trong mảng 1 chiều các số nguyên

Code:
#include <stdio.h>
#include <conio.h>
void main()
{
	int mang[10];//Khoi tao mang 10 so mguyen
	printf("Nhap day cac so nguyen \n");
	for(int i=0;i<10;i++)//i chay tu 0 den 9,phan tu thu 10 cua mang dung de luu ki tu trong
	{
		printf("\nNhap so thuc thu %d: \n",i+1);//phan tu 0 dung de luu so thuc thu 1; nen phan tu thu n se luu so thuc thu n+1
		scanf("%d",&mang[i]);
	}
	
	for(int i=9;i>=0;i--)//tim so nguyen chan cuoi cung tuong duong voi tim so nguyen chan dau tien tu so cuoi cung len
	{
		if(mang[i]%2==0)
		{
		printf("So nguyen chan cuoi cung can tim la: %d \n",mang[i]);
		break;
		}
		else
		printf("Khong tim thay so nguyen chan trong mang\n");
	}
	
	getch();
	
}
 

StarWar

New Member
Tìm 1 vị trí mà giá trị tại đó là giá trị nhỏ nhất trong mảng 1 chiều các số thực


Code:
#include <stdio.h>
#include <conio.h>
void main()
{
	int vitri;//Khai bao bien luu vi tri so nho nhat
	float min;//Khai bao bien chua gia tri nho nhat can tim
	float mang[10];//Khoi tao mang 10 so thuc
	printf("Nhap day cac so nguyen \n");
	for(int i=0;i<10;i++)//i chay tu 0 den 9,phan tu thu 10 cua mang dung de luu ki tu trong
	{
		printf("\nNhap so thuc thu %d: \n",i+1);//phan tu 0 dung de luu so thuc thu 1; nen phan tu thu n se luu so thuc thu n+1
		scanf("%f",&mang[i]);
	}
	min=mang[0];//Khoi tao min la so thu nhat
	for(int i=0;i<10;i++)
	{
		if(mang[i]<min)//Neu mang[i]<min thi gan min=mang[i]
		vitri=i;//Gan vi tri so nho nhat
	}
	printf("Vi tri so thuc nho nhat can tim la: %d \n",vitri+1);
	getch();
	
}
 

StarWar

New Member
Tìm Vị trí của giá trị chẵn đầu tiên trong mảng một chiều các số nguyên.

Code:
#include <stdio.h>
#include <conio.h>
void main()
{
	int mang[10];//Khoi tao mang 10 so nguyen
	printf("Nhap day cac so nguyen \n");
	for(int i=0;i<10;i++)//i chay tu 0 den 9,phan tu thu 10 cua mang dung de luu ki tu trong
	{
		printf("\nNhap so nguyen thu %d: \n",i+1);//phan tu 0 dung de luu so thuc thu 1; nen phan tu thu n se luu so thuc thu n+1
		scanf("%f",&mang[i]);
	}
	
	for(int i=0;i<10;i++)
	{
		if(mang[i]%2==0)//Tim so chan la so chia het cho 2
		{
			printf("Vi tri chan can tim la: %d \n",i+1);
			break;//Tim duoc so chan dau tien roi thi in ra man hinh vi tri so chan dau tien roi thoat khoi vong lap
		}

	}
	getch();
	
}
 

StarWar

New Member
Hãy tìm giá trị dương nhỏ nhất trong mảng các số thực.


Code:
#include <stdio.h>
#include <conio.h>
void main()
{
	int dem=0;//Khai bao bien tim gia tri duong neu co gia tri duong thi dem=1 nguoc lai dem=0
	float min;//Khai bao bien luu gia tri duong nho nhat
	float mang[10];//Khoi tao mang 10 so thuc
	printf("Nhap day cac so thuc \n");
	for(int i=0;i<10;i++)//i chay tu 0 den 9,phan tu thu 10 cua mang dung de luu ki tu trong
	{
		printf("\nNhap so thuc thu %d: \n",i+1);//phan tu 0 dung de luu so thuc thu 1; nen phan tu thu n se luu so thuc thu n+1
		scanf("%f",&mang[i]);
	}
	
	for(int i=0;i<10;i++)//Lap vong lap neu tim duoc gia tri duong dau tien thi thuc hien vong lap trong tim gia tri min
	{
		if(mang[i]>0)//Tim gia tri duong dau tien roi gan gia tri do la min
		{
			dem=1;//Gan dem=1 vi da co gia tri duong
			min=mang[i];
			for(int i=0;i<10;i++)//so sanh min voi cac gia tri khac trong mang
			{
				if(mang[i]>0 && mang[i]<min)//neu co gia tri duong nho hon min thi gan min bang gia tri do
				{
					min=mang[i];
				}	
			}
		break;//Thuc hien xong vong lap trong xong thi thoat vong lap ngoai
		}
	}
	if(dem==0)
		printf("Khong tim thay gia tri duong nao ca \n");
	else
	printf("Gia tri duong nho nhat la %.3f \n",min);
	getch();
	
}
 

StarWar

New Member
Hãy tìm vị trí dương nhỏ nhất trong mảng 1 chiều các số thực - đoạn [0,n-1]

Code:
#include <stdio.h>
#include <conio.h>
void main()
{
	int vitri;//Khai bao bien luu vitri so duong nho nhat
	int dem=0;//Khai bao bien tim gia tri duong neu co gia tri duong thi dem=1 nguoc lai dem=0
	float min;//Khai bao bien luu gia tri duong nho nhat
	float mang[10];//Khoi tao mang 10 so thuc
	printf("Nhap day cac so thuc \n");
	for(int i=0;i<10;i++)//i chay tu 0 den 9,phan tu thu 10 cua mang dung de luu ki tu trong
	{
		printf("\nNhap so thuc thu %d: \n",i+1);//phan tu 0 dung de luu so thuc thu 1; nen phan tu thu n se luu so thuc thu n+1
		scanf("%f",&mang[i]);
	}
	
	for(int i=0;i<10;i++)//Lap vong lap neu tim duoc gia tri duong dau tien thi thuc hien vong lap trong tim gia tri min
	{
		if(mang[i]>0)//Tim gia tri duong dau tien roi gan gia tri do la min
		{
			dem=1;//Gan dem=1 vi da co gia tri duong
			min=mang[i];
			vitri=i;//Gan vi tri min duong nho nhat dau tien
			for(int i=0;i<9;i++)//so sanh min voi cac gia tri khac trong mang;Tru di gia tri cuoi cung
			{
				if(mang[i]>0 && mang[i]<min)//neu co gia tri duong nho hon min thi gan min bang gia tri do
				{
					min=mang[i];
					vitri=i;
				}	
			}
		break;//Thuc hien xong vong lap trong xong thi thoat vong lap ngoai
		}
	}
	if(dem==0)
		printf("Khong tim thay gia tri duong nao ca \n");
	else
	printf("Gia tri duong nho nhat la: %.3f o vi tri: %d \n",min,vitri);
	getch();	
}
 
Top