Nous recevons un tableau et notre tâche est de supprimer les zéros non significatifs du tableau donné, puis d'imprimer le tableau.
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
Nous pouvons créer un nouveau tableau qui ne contient pas les zéros non significatifs du tableau précédent dans le problème donné.
Dans cette méthode, nous allons parcourir le tableau et insérer tous les nombres à l'exception des zéros non significatifs.
#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
Dans le programme donné, nous parcourons d'abord le tableau arr et trouvons l'index du premier élément non nul, le stockons dans une variable appelée last. Si last est -1 après le parcours, cela signifie que le tableau entier est constitué de zéros, nous imprimons donc "Vide".
Maintenant que nous avons l'index du premier élément non nul, nous pouvons déterminer la taille du nouveau tableau, qui est (n - dernier), puis nous exécutons une boucle for commençant du dernier à n-1. Nous insérons ces éléments dans le nouveau tableau et imprimons le nouveau tableau.
Dans cet article, nous avons résolu le problème de la suppression des zéros non significatifs d'un tableau. Nous avons également appris un programme C++ pour résoudre ce problème et une solution complète. Nous pouvons écrire le même programme dans d'autres langages comme C, Java, Python et autres. J'espère que cet article vous sera utile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!