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

root

Leader IT/Architect
Dec 31, 2012
1,153
72
48
  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
 
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:
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();
	
}
 
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();
	
}
 
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();
	
}
 
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();
	
}
 
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();
	
}
 
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();
	
}
 
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();
	
}
 
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();	
}
 

About us

  • Securityzone.vn là một trang web chuyên về an ninh mạng và công nghệ thông tin. Trang web này cung cấp các bài viết, tin tức, video, diễn đàn và các dịch vụ liên quan đến lĩnh vực này. Securityzone.vn là một trong những cộng đồng IT lớn và uy tín tại Việt Nam, thu hút nhiều người quan tâm và tham gia. Securityzone.vn cũng là nơi để các chuyên gia, nhà nghiên cứu, sinh viên và người yêu thích an ninh mạng có thể trao đổi, học hỏi và chia sẻ kiến thức, kinh nghiệm và giải pháp về các vấn đề bảo mật trong thời đại số.

Quick Navigation

User Menu