Tìm số còn thiếu trong mảng C++

Trong bài viết này, chúng ta sẽ xem cách tìm ra một phần tử còn thiếu trong một dãy các phần tử i. e. Tìm một phần tử bị thiếu trong một mảng được sắp xếp trong C với các ví dụ. Vui lòng đọc bài viết trước của chúng tôi, nơi chúng tôi đã tạo một Chương trình Điều khiển Menu duy nhất bao gồm tất cả các hoạt động của một mảng

Tìm một phần tử bị thiếu trong một mảng được sắp xếp

Nếu các phần tử được lưu trữ trong một mảng, thì chúng ta phải tìm

  1. Phần tử duy nhất còn thiếu trong mảng đã sắp xếp
  2. Nhiều phần tử bị thiếu trong mảng được sắp xếp
  3. Thiếu phần tử trong mảng chưa sắp xếp

Có thể có nhiều hơn một cách khả thi để tìm phần tử còn thiếu. Vì vậy, hãy xem xét phương pháp thứ nhất

Phương pháp 1

Ở đây chúng tôi đã lấy một ví dụ về một mảng có kích thước 11. Đây là những số tự nhiên 'n' đầu tiên. Vì vậy, chuỗi bắt đầu từ 1 trở đi. Nếu bạn để ý mảng trên, 7 là phần tử còn thiếu. Bây giờ chúng ta phải tìm ra 7 còn thiếu trong chuỗi trên

Ta biết công thức của n số tự nhiên đầu tiên là. n [n+1] / 2. Vì vậy, nếu tôi có tổng cộng 12 phần tử là phần tử cuối cùng, chúng ta nên biết về phần tử cuối cùng. Tổng của n số tự nhiên đầu tiên có thể được biết bằng cách sử dụng – n [n+1] / 2. Chúng ta có thể sử dụng công thức này nếu chúng ta biết phần tử đầu tiên và phần tử cuối cùng. Vì vậy, tổng là

Vì vậy, tổng tất cả các phần tử có trong mảng phải là 78. Nếu không phải là 78 ​​thì ít đi bao nhiêu, đó sẽ là yếu tố còn thiếu của chúng ta. Như vậy là chúng ta đã tính tổng bằng công thức, bây giờ chúng ta cộng từng phần tử của mảng và trừ đi số đó đi 78. Hãy xem nào

Dưới đây là đoạn mã giả để tìm tổng của từng phần tử trong mảng bằng phương pháp lặp

Mã giả
sum = 0;
for [int i = 0; i < 11; i++]{
 sum = sum + C [i]
}

Bây giờ chúng ta có tổng của mảng trong biến tổng của chúng ta. Vậy bây giờ làm thế nào để tính phần tử còn thiếu?

Phần tử bị thiếu = 78 – tổng

= 78 – 71

= 7

Vì vậy, đây là phương pháp đầu tiên để tìm phần tử đơn lẻ trong một mảng được sắp xếp

Mã đầy đủ bằng ngôn ngữ C
#include 
#include 

struct List{
 int C[15];
 int size;
 int length;
};

void Display[struct List list] {
 int i;
 printf["Elements are:\n"];
 for [i = 0;i

Chủ Đề