Tìm các phần tử giống nhau trong mảng
Viết chương trình nhập vào 10 phần tử cho 1 ArrayList chứa các số nguyên dương. Sau đó loại bỏ các phần tử trùng nhau trong ArrayList đó và hiển thị lại ArrayList này. Show
Bài giải -------------------- ######## -------------------- Hướng dẫn: Để giải bài này, chúng ta sẽ tạo mới 2 ArrayList: 1 ArrayList ban đầu và 1 ArrayList chứa các phần tử không trùng nhau của ArrayList ban đầu. Sau đó chúng ta sẽ tiến hành xóa tất cả các phần tử của ArrayList ban đầu và sử dụng phương thức addAll() thêm tất cả các phần tử của ArrayList không chứa các phần tử trùng nhau vào ArrayList ban đầu, kết quả ta sẽ có 1 ArrayList thỏa mãn yêu cầu của đề bài. Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
Bài giải public static void main(String[] args) { int number; ArrayListKết quả sau khi biên dịch chương trình: Câu hỏi thường gặp liên quan: Cùng chuyên mục:
Trong bài viết này mình sẽ hướng dẫn các bạn cách loại bỏ các phần tử trùng lặp khỏi một mảng trong C#. Để làm được điều này các bạn cần có kiến thức cơ bản về các vòng lặp cũng như kiến thức về C# nhé. Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Trong chương trình dưới đây mình sử dụng hai vòng lặp for để thực hiện loại bỏ các phần tử trùng lặp trong mảng, cụ thể như sau: Bước 1: Ta sử dụng vòng lặp for thứ nhất để lặp từng phần tử trong mảng. Bước 2: Sử dụng vòng lặp for thứ hai để so sánh các phần tử còn lại với giá trị hiện tại của vòng for thứ nhất. Ví dụ: vòng for thứ nhất đang ở giá trị a thì sẽ so sánh a với các phần tử còn lại, tiếp đến là b thì sẽ so sánh b với các phần tử còn lại. Bài viết này được đăng tại [free tuts .net] for (i = 0; i Bước 3: Để biết được phần tử đó có lặp lại hay không ta sử dụng thêm điều kiện if. if (arr1.Length == j)
{
Console.Write (arr1 [i] + ”“);
} Full code: using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
namespace ConsoleApp5
{
class Program
{
static void Main(string[] args)
{
int i = 0, j = 0;
//khai báo và khởi tạo các giá trị cho các phần tử trong mảng
int[] arr1 = new int[] { 7, 7, 8, 8, 9, 1, 1, 4, 2, 2 };
Console.Write("Cac phan tu khong trung lap: ");
//sử dụng vòng for thứ nhất lặp từng phần tử trong mảng
for (i = 0; i < arr1.Length; i++)
{
//sử dụng vòng for thứ hai để so sánh các phần tử còn lại với i của vòng for thứ nhất
for (j = 0; j < arr1.Length; j++)
{
if (i == j)
continue;
if (arr1[j] == arr1[i])
break;
}
if (arr1.Length == j)
{
Console.Write(arr1[i] + " ");
}
}
Console.WriteLine("\n ----Chuong trinh nay duoc dang tai Freetuts.net---- \n");
Console.ReadKey();
}
}
} Kết quả: Loại bỏ các phần tử trùng lặp khỏi mảng trong C# (cách 2)Trong chương trình này, mình sẽ sử dụng phương pháp sắp xếp mảng trước khi so sánh. Điều này giúp tối ưu hóa khi thực hiện chương trình, bởi vì chúng ta không cần phải so sánh các phần tử với tất cả phần tử còn lại nữa. Bước 1: Sắp xếp mảng. Bước 2: Kiểm tra phần tử đầu tiên có bằng phần tử kế nó, nếu không bằng thì hiển thị ra màn hình (đó là phần tử không trùng lặp) Bước 3: Sử dụng vòng lặp for để lặp và so sánh từ phần từ thứ hai cho đến phần tử n - 1 (phần tử kế cuối). Phần tử nào không bằng nhau thì hiển thị ra màn hình. Bước 4: So sánh phần tử cuối cùng với phần tử trước nó, nếu không bằng nhau thì hiển thị ra màn hình. using System; using System.Linq; using System.Text; using System.Collections.Generic; namespace ConsoleApp5 { class Program { static void Main(string[] args) { int[] arr = { 7, 4, 8, 2, 9, 1, 1, 4, 5, 2 }; int n = arr.Length; Console.Write("Cac phan tu khong trung lap: "); //gọi hàm Unique() đã viết và truyền vào các tham số tương ứng Unique(arr, n); Console.WriteLine("\n ----Chuong trinh nay duoc dang tai Freetuts.net---- \n"); Console.ReadKey(); } static void Unique(int[] arr, int n) { //sử dụng phương thức Sort() của array để sắp xếp mảng Array.Sort(arr); //kiểm tra phần tử đầu tiên if (arr[0] != arr[1]) Console.Write(arr[0] + " "); //Kiểm tra các phần tử còn lại cho đến n-1 for (int i = 1; i < n - 1; i++) if (arr[i] != arr[i + 1] && arr[i] != arr[i - 1]) Console.Write(arr[i] + " "); //Kiểm tra phần tử cuối if (arr[n - 2] != arr[n - 1]) Console.Write(arr[n - 1] + " "); } } } Kết quả: Như vậy là chúng ta đã thực hiện xong chương trình loại bỏ các phần tử trùng lặp khỏi mảng trong C#. Các bạn hãy luyện tập thật nhiều và thử các cách khác nữa nhé, chúc các bạn thành công !!!
Viết chương trình C# để nhập các phần tử vào trong mảng, sau đó tìm số phần tử giống nhau trong mảng đó và in kết quả trên màn hình. Bài tập C# này giúp bạn làm quen với các khái niệm: khai báo mảng, khởi tạo mảng, và cách truy cập các phần tử của mảng trong C#. Chương trình C#Dưới đây là chương trình C# để giải bài tập tìm số phần tử giống nhau trong một mảng trong C#: using System; namespace ZaidapCsharp { class TestCsharp { public static void Main() { int[] arr1 = new int[100]; int i, j, n, bien_dem = 0; //day la bien dem Console.Write(" Tim so phan tu giong nhau trong mot mang trong C#: "); Console.Write("--------------------------------------------------- "); Console.Write("Nhap so phan tu can luu giu vao trong mang: "); n = Convert.ToInt32(Console.ReadLine()); Console.Write("Nhap {0} phan tu vao trong mang: ", n); for (i = 0; i < n; i++) { Console.Write("Phan tu - {0}: ", i); arr1[i] = Convert.ToInt32(Console.ReadLine()); } /*Tim kiem cac phan tu giong nhau*/ for (i = 0; i < n; i++) { for (j = i + 1; j < n; j++) { /*Tang bien dem bien_dem khi tim thay phan tu giong nhau.*/ if (arr1[i] == arr1[j]) { bien_dem++; break; } } } Console.Write(" So phan tu giong nhau trong mang la: {0} ", bien_dem); Console.ReadKey(); } } }Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn. Kết quả chương trình C#Biên dịch và chạy chương trình C# trên sẽ cho kết quả: Mọi người cho thể tham gia khóa học thứ 6 của vietjackteam (đang tuyển sinh) vào đầu tháng 03/2018 do anh Nguyễn Thanh Tuyền, admin vietjack.com trực tiếp giảng dạy tại Hà Nội. Chi tiết nội dung khóa học tham khỏa link : .Các bạn học CNTT, điện tử viễn thông, đa phương tiện, điện-điện tử, toán tin có thể theo học khóa này. Số lượng các công việc Java hoặc .NET luôn gấp ít nhất 3 lần Android hoặc iOS trên thị trường tuyển dụng. Mọi người có thể xem demo nội dung khóa học tại địa chỉ Các bạn ở xa học không có điều kiện thời gian có thể tham dự khóa Java online để chủ động cho việc học tập. Trong tháng 4/2018, Zaidap khuyến mại giá SỐC chỉ còn 150k cho khóa học, liên hệ facebook admin fb.com/tuyen.vietjack để thanh toán chuyển khoản hoặc thẻ điện thoại, khóa học bằng Tiếng Việt với gần 100 video, các bạn có thể chủ động bất cứ lúc nào, và xem mãi mãi. Thông tin khóa học tại Follow fanpage của team hoặc facebook cá nhân Nguyễn Thanh Tuyền để tiếp tục theo dõi các loạt bài mới nhất về Ngữ pháp tiếng Anh, luyện thi TOEIC, Java,C,C++,Javascript,HTML,Python,Database,Mobile ... mới nhất của chúng tôi.
Bài học Bài tập C# phổ biến tại vietjack.com: |