Kami disediakan tatasusunan dan tugas kami ialah mengalih keluar sifar pendahuluan daripada tatasusunan yang diberikan dan kemudian mencetak tatasusunan.
Input : arr[] = {0, 0, 0, 1, 2, 3} Output : 1 2 3 Input : arr[] = {0, 0, 0, 1, 0, 2, 3} Output : 1 0 2 3
Kita boleh mencipta tatasusunan baharu yang tidak mengandungi sifar pendahuluan tatasusunan sebelumnya dalam masalah yang diberikan.
Dalam kaedah ini kita akan melelar melalui tatasusunan dan memasukkan semua nombor kecuali sifar pendahuluan.
#include <iostream> using namespace std; int main() { int arr[] = {0, 0, 0, 1, 2, 0, 4}; int n = sizeof(arr) / sizeof(int); // size of given array. int last = -1; for(int i = 0; i < n; i++) { // finding the first non zero element if(arr[i] != 0) { last = i; break; } } if(last == -1) cout << "Empty\n"; else { int b[n - last]; // the new array. for(int i = last; i < n; i++) // inserting the elements in the new array b[i-last] = arr[i]; for(int i = 0; i < n-last; i++) // printing the array cout << b[i] << " "; } }
1 2 0 4
Dalam atur cara yang diberikan, kita mula-mula melelang melalui arr tatasusunan dan mencari indeks unsur bukan sifar pertama, menyimpannya dalam pembolehubah dipanggil terakhir. Jika yang terakhir ialah -1 selepas merentasi, ini bermakna keseluruhan tatasusunan terdiri daripada sifar, jadi kami mencetak "Kosong".
Sekarang kita mempunyai indeks unsur bukan sifar pertama, kita boleh menentukan saiz tatasusunan baharu, iaitu (n - terakhir), dan kemudian kita menjalankan gelung for bermula dari terakhir hingga n-1. Kami memasukkan elemen ini ke dalam tatasusunan baharu dan mencetak tatasusunan baharu.
Dalam artikel ini, kami menyelesaikan masalah mengalih keluar sifar pendahuluan daripada tatasusunan. Kami juga mempelajari program C++ untuk menyelesaikan masalah ini dan penyelesaian lengkap. Kita boleh menulis program yang sama dalam bahasa lain seperti C, Java, Python dan lain-lain. Semoga artikel ini membantu anda.
Atas ialah kandungan terperinci Alih keluar sifar utama daripada tatasusunan menggunakan C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!