Viết chương trình in ra các phần tử từ 2 dãy số thực theo yêu cầu

Bài toán kinh điển trong lập trình

5.0 (1 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 06:11 09-07-2017 24.612 lượt xem 2 bình luận
Học nhanh

Danh sách bài học

Viết chương trình in ra các phần tử từ 2 dãy số thực theo yêu cầu

 

Yêu cầu bài toán

Viết chương trình nhập vào 1 dãy số gồm n số thực (n<=100), nhập vào dãy số b gồm m số thực (m<=100)

  1. In ra những phần tử chỉ xuất hiện trong dãy a mà không xuất hiện trong dãy b.
  2. In ra những phần tử xuất hiện ở cả 2 dãy.

Hướng dẫn

Bài tập mang tính tham khảo, hỗ trợ các bạn làm quen và luyện tập với các bàn toán lập trình cơ bản trong C++.

Kteam khuyến khích các bạn tự phân tích đề bài > tự giải bài toán > debug để kiểm tra kết quả và fix lỗi trong quá trình giải. Sau đó, bạn có thể tham khảo source code mẫu để hoàn chỉnh bài tập. 

Để được hỗ trợ tốt nhất, bạn có thể đặt câu hỏi ở phần bình luận bên dưới bài viết hoặc ở mục Hỏi & Đáp.

 

 

Source

// Viet chuong trinh nhap vao 1 day so gom n so thuc (n<=100), nhap vao day so b gom m so thuc (m<=100)
a. In ra nhung phan tu chi xuat hien trong day a mà khong xuat hien trong day b.
b. In ra nhung phan tu xuat hien o ca 2 day.

#include<iostream>
#include<time.h>
#define MAX 100
using namespace std;


void MangNgauNhien(int a[], int n)
{
	srand((unsigned)time(NULL));
	for(int i=0; i<n; i++)
		a[i]=rand() % 100 - rand() % 100;
}

void XuatMang(int a[], int n)
{
	for(int i=0; i<n; i++)
		cout<< a[i] <<"\t";
}

void KiemTraA(int a[], int b[], int n, int m)
{
	int i,j,dem=0;
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
			if(a[i]==b[j])
				break;
		if(j>=m)
			{
				cout<<a[i]<<"\t";
				dem++;
			}	
	}
	if(dem==0)
			cout<<"\nTat ca phan tu deu giong  ";
}
void KiemTraB(int a[], int b[], int n, int m)
{
	int i, j;
	cout<<"\nPhan tu co trong Mang A lan Mang B:\n";
	for(i=0; i<n; i++)
	{
		for(j=0; j<m; j++)
			if(a[i]==b[j])
				cout<< a[i] <<"\t";
	}
}

void main()
{
	int n, a[MAX], x, b[MAX], m;
	
	cout<<"\nSo luong phan tu thuc su cua mang A: "; cin>>n;
	
	MangNgauNhien(a,n);
	XuatMang(a,n);
	
	cout<<"\nSo luong phan tu thuc su cua mang B: "; cin>>m;

	MangNgauNhien(b,m);
	XuatMang(b,m);

	KiemTraA(a,b,n,m);

	KiemTraB(a,b,n,m);

	cout<<endl;
}

Kết luận

Bạn có thể củng cố kiến thức C++ từ khóa Lập trình C++ cơ bản.

Hoặc tìm hiểu thêm các bài tập khác trong khóa Bài toán kinh điển trong lập trình

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Tác giả

Khóa học

Bài toán kinh điển trong lập trình

Tổng hợp những bài toán trong lập trình, ngẫu nhiên từ cơ bản đến nâng cao.

Đánh giá

VirusLove_7x đã đánh giá 19:38 01-03-2019

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
nguyenhainam26n đã bình luận 12:37 25-11-2017

 

void MangNgauNhien(int a[], int n)

{

             srand((unsigned)time(NULL));

             for(int i=0; i<n; i++)

            a[i]=rand() % 100 - rand() % 100;

}

 

Cho em hỏi khúc này là sao ạ?  em chưa hiểu lắm

 

VirusLove_7x đã bình luận 07:32 11-07-2017
void exa(int a[], int b[], lena, lenb)
{
	int i, j, exist, appear;
	for (i = 0; i < lena, i++)
	{
		exist = 0;
		for (j = 0; j < lenb; j++)
		{
			appear = b[j] == a[i];
			if (appear)
			{
				exist = 1;
				break;
			}
		}
		if (!(exist))
		{
			cout << "Có con chim nho nhỏ"..
		}
	}
}

void exb(int a[], int b[], lena, lenb)
{
	int i, j, exist, appear;
	for (i = 0; i < lena, i++)
	{
		exist = 0;
		for (j = 0; j < lenb; j++)
		{
			appear = b[j] == a[i];
			if (appear)
			{
				exist = 1;
				break;
			}
		}
		if (exist)
		{
			cout << "Có con chim nho nhỏ"..
		}
	}
}

Code chưa qua test. Không nên coi đây là một thông tin đáng tin cậy cho việc nghiên cứu của bạn

Không có video.