Créer un tableau et supprimer une case sans décalage

Salut,

je suis étudiant en informatique L1 et débutant en langage de programmation C. Ayant une faible base en programmation (algorithme aussi) de tableau puisque ça fait une semaine qu'on a commencé ce chapitre.

Notre prof d'algorithmique nous a passé un devoir qui consiste à créer un tableau N élément de type entier, puis le programme doit supprimer le contenu d'une case MAIS il ne fera pas de décalage(la case restera vide).

Vous trouverez en bas le code que j'ai édité (incomplet) en langage C et un exemple de ce que le programme est censé afficher

PS: que ce soit en langage C ou en langage naturel, toute proposition est la bienvenue.

Merci

Le code :

#include <stdio.h>
int main()
{
 int i, n;
 int ta[i];
 
 /*i=compteur
  ta=tableau
  n=Nombre de case*/
 
printf("Saisir le nombre de case a creer\n");
 scanf("%d", &n);
 
  printf("Remplir le tab\n");
  
 
 for(i=1;i<=n;i++)
 {
 scanf("%d", ta[i]);
 }
 
 
 
 
 
 
 
 return 0;
}


Exemple du résultat attendu

2 réponses

  1. Contributeur
    Il y a quelques maladresses dans ton code.

    Par exemple, en ligne 27
    if (pos >= nbr+1)
    pourrait s'écrire plus simplement
    if (pos > nbr)
    . Tu pourrais tester aussi le signe. L'affichage du tableau peut être amélioré avec des espaces ou des taburations (et/ou des barres verticales, etc.).

    Sinon, le code fonctionne et il fonctionne déjà par décalage (qui est fait par la boucle
    while
    en ligne 35 à 39).

    Cependant, j'avais cru comprendre que tu ne devais pas faire de décalage, et juste disposer d'un moyen pour considérer un case existante comme étant "vide" de façon à ne pas l'afficher.

    Dal
    0