C# - C Sharp: Bài tập phần mảng số


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Bài tập 0

Cho mảng một chiều a chứa n phần tử bao gồm cả các số âm và dương. Hãy hoán đổi giá trị của các phần tử mảng sao cho các số dương và âm xen kẽ nhau. Những số dương hoặc âm còn lại nếu có sẽ được đẩy về cuối mảng.

Bài tập 1

Hãy tạo ngẫu nhiên một mảng a gồm N phần tử nguyên sau đó thực hiện:

  • Sắp xếp a theo thứ tự tăng dần
  • Loại bỏ bớt các phần tử có giá trị giống nhau sao cho mỗi giá trị chỉ xuất hiện trong a duy nhất 1 lần.

Bài tập 2

Viết chương trình dạng Menu chọn thực hiện các công việc sau (lưu ý mỗi công việc được thực hiện trên một hàm):

1. Nhập một số nguyên N (0<N<50).

2. Nhập một mảng gồm N số thực.

3. Tìm số lớn nhất trong mảng.

4. Tìm số nhỏ nhất trong mảng.

5. Tìm số dương chẵn lớn nhất trong mảng.

6. Tìm số âm lẻ nhỏ nhất trong mảng.

7. Tìm các số chính phương trong mảng.

8. Tính tổng mảng.

9. Tính trung bình cộng các phần tử mảng.

10. Tìm những phần tử lớn hơn trung bình cộng.

11. Sắp xếp mảng theo trật tự tăng dần.

12. Sắp xếp mảng theo trật tự giảm dần.

13. In ra trung bình cộng các phần tử không âm của mảng.

Bài tập 3: Change Coin

Với một giá trị N, nếu chúng ta muốn đổi N xu và chúng ta có nguồn cung vô hạn đối với mỗi đồng xu có giá trị S = {S1, S2, .., Sm}, chúng ta có thể thực hiện bao nhiêu cách để thực hiện thay đổi? Thứ tự của các đồng xu không quan trọng.

Ví dụ: đối với N = 4 và S = {1,2,3}, có bốn nghiệm: {1,1,1,1}, {1,1,2}, {2,2}, {1, 3}. Với N = 10 và S = {2, 5, 3, 6}, có năm nghiệm: {2,2,2,2,2}, {2,2,3,3}, {2,2,6}, {2,3,5} và {5,5}.

Bài tập 4

Gayasen đã nhận được một bài tập về nhà để tính ước chung lớn nhất của hai số nguyên dương A và B. Vì các số này khá lớn, giáo sư đã cung cấp cho anh ta N số nguyên nhỏ hơn có tích bằng A, và M số nguyên với tích bằng B. Anh ta sẽ thích xác minh kết quả, vì vậy anh ấy đã yêu cầu bạn viết một chương trình để giải quyết vấn đề của anh ấy. Nhưng thay vì in câu trả lời hoàn chỉnh, bạn phải in câu trả lời là kết quả chia dư cho (10000000007).

Định dạng đầu vào:

Dòng nhập đầu tiên của đầu vào chứa số nguyên dương N (1 <= N <= 1000).

Dòng nhập thứ hai chứa N số nguyên dương được phân tách bằng dấu cách không lớn hơn 104, có tích là số A.

Dòng nhập thứ ba chứa số nguyên dương M (1 <= M <= 1000).

Dòng nhập thứ tư của đầu vào chứa M số nguyên dương được phân tách bằng dấu cách không lớn hơn 104, có tích là số B.

Ràng buộc:

1 <= N, M <= 1000

1 <= phần tử của danh sách <= 10000

Định dạng đầu ra:

In ra ước chung lớn nhất của các số A và B modulo 10000000007.

Bài tập 5

Đôi khi bạn cần so sánh danh sách số lượng, nhưng việc sắp xếp từng danh sách thông thường sẽ mất quá nhiều thời gian. Thay vào đó, bạn có thể sử dụng các phương pháp thay thế để tìm sự khác biệt giữa mỗi danh sách.

Thử thách
Numeros The Artist đang sắp xếp hai danh sách A và B giống hệt nhau thành những thứ tự cụ thể. Sự sắp xếp của hai mảng là ngẫu nhiên, Numeros rất tự hào về sự sắp xếp của mình. Thật không may, một số số đã bị loại khỏi Danh sách A. Bạn có thể tìm thấy các số còn thiếu từ A mà không làm rối thứ tự của anh ta không?

Chi tiết
Có nhiều bản sao trong danh sách, nhưng bạn cần tìm các số thừa, tức là B - A. In các số theo thứ tự số. In mỗi số bị thiếu một lần, ngay cả khi số đó bị thiếu nhiều lần. Các số đều nằm trong phạm vi 100 cách nhau.

Định dạng đầu vào
Sẽ có bốn dòng đầu vào:

n - kích thước của danh sách đầu tiên
Tiếp theo là n số tạo nên danh sách đầu tiên.
m - kích thước của danh sách thứ hai
Tiếp theo là m số tạo nên danh sách thứ hai.

Định dạng đầu ra
Đưa ra tất cả các số (theo thứ tự tăng dần) có trong B nhưng không thuộc A.

Ràng buộc
1 <= n, m <= 200000
-10000 <= x <= 10000, x ∈ B
Xmax - Xmin <101

Đầu vào mẫu

10
203 204 205 206 207 208 203 204 205 206
13
203 204 204 205 206 207 205 208 203 206 205 206 204
Đầu ra mẫu

204 205 206
Giải trình

Mặc dù 204 được trình bày trong cả hai mảng, nhưng tần số của 204 ở A nhỏ hơn của B. Tương tự như vậy, 205 và 206 xảy ra hai lần ở A nhưng ba lần ở B. Vì vậy, ba số này tạo thành đầu ra. Các số còn lại xảy ra ít nhất nhiều lần ở A cũng như ở B - vì vậy chúng không phải là "số bị thiếu".

Bài tập 6

Yêu cầu: Viết chương trình dưới dạng không dùng hàm và dùng hàm.

Cho mảng 2 chiều A, là ma trận vuông cấp n x n, lập chương trình:

a) Tính tổng tất cả các phần tử dương của mảng.

b) Tính tổng các phần tử A[i][j] trong đó (i + j) chia hết cho 5.

c) In ra các số nguyên tố theo từng hàng.

d) Sắp xếp tăng dần theo hàng.

e) Sắp xếp giảm dần theo cột .

f) Sắp xếp tăng dần theo hàng và cột.

g) Tính tổng các phần tử trên đường chéo chính (i = j) và trên đường biên.

h) Tìm phần tử max, phần tử min theo từng hàng, từng cột và toàn bộ ma trận.

» Tiếp: Bài tập phần chuỗi và mảng chuỗi
« Trước: Bài tập phần vòng lặp
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!