Mettre des données d'un fichier dans un vector() java

Résolu/Fermé
brino1987 - 10 juin 2013 à 01:52
 brino1987 - 11 juin 2013 à 00:51
Bonjour,

voilà le contenu de mon fichier.txt:


[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:44:13.145124 149.255.164.89:37430 -> 10.0.2.15:3850
TCP TTL:255 TOS:0x0 ID:47138 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0xA2A5FE82 Win: 0x0 TcpLen: 20

[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:44:17.463384 109.129.57.6:56610 -> 10.0.2.15:3863
TCP TTL:255 TOS:0x0 ID:47267 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0x5AB5EC4B Win: 0x0 TcpLen: 20

[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:44:35.333975 177.138.144.109:17292 -> 10.0.2.15:3883
TCP TTL:255 TOS:0x0 ID:47581 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0xEBA149B7 Win: 0x0 TcpLen: 20

[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:44:45.315331 189.63.21.30:31243 -> 10.0.2.15:3892
TCP TTL:255 TOS:0x0 ID:47648 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0xCEACB6D8 Win: 0x0 TcpLen: 20

[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:45:53.152648 46.238.41.3:20815 -> 10.0.2.15:3967
TCP TTL:255 TOS:0x0 ID:48635 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0x6E85825E Win: 0x0 TcpLen: 20

[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:45:57.952068 177.141.47.206:54136 -> 10.0.2.15:3971
TCP TTL:255 TOS:0x0 ID:48728 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0xE983D65E Win: 0x0 TcpLen: 20

[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:47:15.444427 187.39.58.1:32661 -> 10.0.2.15:4056
TCP TTL:255 TOS:0x0 ID:49905 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0x91E45DD5 Win: 0x0 TcpLen: 20

[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:47:16.681314 92.140.247.189:50845 -> 10.0.2.15:4064
TCP TTL:255 TOS:0x0 ID:49938 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0x92D66FE7 Win: 0x0 TcpLen: 20

..........


ma question c'est comment mettre ces données dans un vector(). c à d le contenu de mon vector devient comme ceci:

vector[0]= [**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:44:13.145124 149.255.164.89:37430 -> 10.0.2.15:3850
TCP TTL:255 TOS:0x0 ID:47138 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0xA2A5FE82 Win: 0x0 TcpLen: 20

vector[1]=[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:44:17.463384 109.129.57.6:56610 -> 10.0.2.15:3863
TCP TTL:255 TOS:0x0 ID:47267 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0x5AB5EC4B Win: 0x0 TcpLen: 20

................
etc

svp j'ai besoin de vos aides c'est urgent

merci beaucoup d'avance.
A voir également:

5 réponses

tu lit ton fichier ligne par ligne et à chaque fois que la ligne commence par [**] alors tu l'enregistre dans un tableau :
https://www.google.fr/search?q=lire+un+fichier+en+java
0
merci bcp flog78;
oui je fais ça et ça marche,
maintenant comment faire pour supprimer des lignes vides de mon tableau de string car mon fichier contenant des lignes vide;
je fais avec replaceAll() mais elle ne me donne pas le résultat que je souhaites

voilà le contenu de mon fichier alert.txt:


[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:44:13.145124 149.255.164.89:37430 -> 10.0.2.15:3850
TCP TTL:255 TOS:0x0 ID:47138 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0xA2A5FE82 Win: 0x0 TcpLen: 20
********ligne vide***************************
[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:44:17.463384 109.129.57.6:56610 -> 10.0.2.15:3863
TCP TTL:255 TOS:0x0 ID:47267 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0x5AB5EC4B Win: 0x0 TcpLen: 20
********ligne vide***************************
[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:44:35.333975 177.138.144.109:17292 -> 10.0.2.15:3883
TCP TTL:255 TOS:0x0 ID:47581 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0xEBA149B7 Win: 0x0 TcpLen: 20
********ligne vide***************************
[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:44:45.315331 189.63.21.30:31243 -> 10.0.2.15:3892
TCP TTL:255 TOS:0x0 ID:47648 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0xCEACB6D8 Win: 0x0 TcpLen: 20
********ligne vide***************************
[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:45:53.152648 46.238.41.3:20815 -> 10.0.2.15:3967
TCP TTL:255 TOS:0x0 ID:48635 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0x6E85825E Win: 0x0 TcpLen: 20
********ligne vide***************************
[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:45:57.952068 177.141.47.206:54136 -> 10.0.2.15:3971
TCP TTL:255 TOS:0x0 ID:48728 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0xE983D65E Win: 0x0 TcpLen: 20
********ligne vide***************************
[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:47:15.444427 187.39.58.1:32661 -> 10.0.2.15:4056
TCP TTL:255 TOS:0x0 ID:49905 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0x91E45DD5 Win: 0x0 TcpLen: 20
********ligne vide***************************
[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:47:16.681314 92.140.247.189:50845 -> 10.0.2.15:4064
TCP TTL:255 TOS:0x0 ID:49938 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0x92D66FE7 Win: 0x0 TcpLen: 20
********ligne vide***************************
[**] [119:14:1] (http_inspect) NON-RFC DEFINED CHAR [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:47:30.260979 10.0.2.15:4072 -> 201.21.162.152:8080
TCP TTL:64 TOS:0x0 ID:50136 IpLen:20 DgmLen:108
***A**** Seq: 0x8E168CF4 Ack: 0x9191C202 Win: 0xFFFF TcpLen: 20
********ligne vide***************************
[**] [119:32:1] (http_inspect) SIMPLE REQUEST [**]
[Classification: Unknown Traffic] [Priority: 3]
05/19-00:47:30.261802 201.21.162.152:8080 -> 10.0.2.15:4072
TCP TTL:64 TOS:0x0 ID:50136 IpLen:20 DgmLen:40
***A**** Seq: 0x9191C202 Ack: 0x8E168D38 Win: 0xFFFF TcpLen: 20
********ligne vide***************************
[**] [119:14:1] (http_inspect) NON-RFC DEFINED CHAR [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:48:07.449752 10.0.2.15:4106 -> 201.21.162.152:8080
TCP TTL:64 TOS:0x0 ID:50594 IpLen:20 DgmLen:108
***A**** Seq: 0xE793A983 Ack: 0x91EB9A02 Win: 0xFFFF TcpLen: 20
********ligne vide***************************
[**] [119:32:1] (http_inspect) SIMPLE REQUEST [**]
[Classification: Unknown Traffic] [Priority: 3]
05/19-00:48:07.451272 201.21.162.152:8080 -> 10.0.2.15:4106
TCP TTL:64 TOS:0x0 ID:50594 IpLen:20 DgmLen:40
***A**** Seq: 0x91EB9A02 Ack: 0xE793A9C7 Win: 0xFFFF TcpLen: 20
********ligne vide***************************
[**] [119:14:1] (http_inspect) NON-RFC DEFINED CHAR [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:49:36.501314 10.0.2.15:4164 -> 201.21.162.152:8080
TCP TTL:64 TOS:0x0 ID:51294 IpLen:20 DgmLen:108
***A**** Seq: 0x3719CB52 Ack: 0x92929802 Win: 0xFFFF TcpLen: 20
********ligne vide***************************
[**] [119:32:1] (http_inspect) SIMPLE REQUEST [**]
[Classification: Unknown Traffic] [Priority: 3]
05/19-00:49:36.503323 201.21.162.152:8080 -> 10.0.2.15:4164
TCP TTL:64 TOS:0x0 ID:51294 IpLen:20 DgmLen:40
***A**** Seq: 0x92929802 Ack: 0x3719CB96 Win: 0xFFFF TcpLen: 20
********ligne vide***************************
[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:51:00.768066 5.166.197.58:25926 -> 10.0.2.15:4222
TCP TTL:255 TOS:0x0 ID:51782 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0x34D1754C Win: 0x0 TcpLen: 20
********ligne vide***************************
[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:51:00.890967 190.209.48.178:19637 -> 10.0.2.15:4223
TCP TTL:255 TOS:0x0 ID:51791 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0xB7C579DB Win: 0x0 TcpLen: 20
********ligne vide***************************
[**] [119:14:1] (http_inspect) NON-RFC DEFINED CHAR [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:51:06.510246 10.0.2.15:4233 -> 201.21.162.152:8080
TCP TTL:64 TOS:0x0 ID:51919 IpLen:20 DgmLen:108
***A**** Seq: 0xE3DDACFA Ack: 0x934B2A02 Win: 0xFFFF TcpLen: 20
********ligne vide***************************
[**] [119:32:1] (http_inspect) SIMPLE REQUEST [**]
[Classification: Unknown Traffic] [Priority: 3]
05/19-00:51:06.513127 201.21.162.152:8080 -> 10.0.2.15:4233
TCP TTL:64 TOS:0x0 ID:51919 IpLen:20 DgmLen:40
***A**** Seq: 0x934B2A02 Ack: 0xE3DDAD3E Win: 0xFFFF TcpLen: 20
********ligne vide***************************
[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:51:50.132948 201.22.211.231:24235 -> 10.0.2.15:4273
TCP TTL:255 TOS:0x0 ID:52448 IpLen:20 DgmLen:40
*****R** Seq: 0x93ADCF1F Ack: 0x0 Win: 0x0 TcpLen: 20
********ligne vide***************************
[**] [129:15:1] Reset outside window [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:52:42.611174 46.61.82.226:52632 -> 10.0.2.15:4311
TCP TTL:255 TOS:0x0 ID:52798 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0xF5054355 Win: 0x0 TcpLen: 20
********ligne vide***************************
[**] [119:14:1] (http_inspect) NON-RFC DEFINED CHAR [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:53:50.407980 10.0.2.15:4349 -> 201.21.162.152:8080
TCP TTL:64 TOS:0x0 ID:53093 IpLen:20 DgmLen:108
***A**** Seq: 0x4D68E532 Ack: 0x94934A02 Win: 0xFFFF TcpLen: 20
********ligne vide***************************
[**] [119:32:1] (http_inspect) SIMPLE REQUEST [**]
[Classification: Unknown Traffic] [Priority: 3]
05/19-00:53:50.409921 201.21.162.152:8080 -> 10.0.2.15:4349
TCP TTL:64 TOS:0x0 ID:53093 IpLen:20 DgmLen:40
***A**** Seq: 0x94934A02 Ack: 0x4D68E576 Win: 0xFFFF TcpLen: 20
********ligne vide***************************
[**] [119:14:1] (http_inspect) NON-RFC DEFINED CHAR [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
05/19-00:56:13.544818 10.0.2.15:4428 -> 201.21.162.152:8080
TCP TTL:64 TOS:0x0 ID:53563 IpLen:20 DgmLen:108
***A**** Seq: 0x73FA43DA Ack: 0x958F3E02 Win: 0xFFFF TcpLen: 20
....................................
etc......


voilà mon code:

import java.io.*;
import java.util.Vector;

public class texte {
public static void main(String[] args){


//String chaine="";

String fichier ="C:\\borni\\alert.txt";

//lecture du fichier texte
String[] tableau = new String[0]; //création d'un fichier vide
//String[] tab = new String[0]; //création d'un fichier vide
try {


java.io.InputStream ips=new java.io.FileInputStream(fichier);


java.io.InputStreamReader ipsr=new java.io.InputStreamReader(ips);

java.io.BufferedReader br=new java.io.BufferedReader(ipsr);

String ligne;
String line;

//boolean fich;

String[] oldTableau = tableau;

int noligne = oldTableau.length;

tableau = new String[noligne+1]; //afin d'ajouter la ligne on augmente la capacité du tableau

System.arraycopy(oldTableau, 0, tableau,0, noligne);//on recopie le contenu de l'ancien tableau dans le nouveau


//parcour du fichier

while ((ligne=br.readLine())!=null){

line=ligne.replaceAll("\n", "");


tableau[noligne] = line; //affectation de la ligne du fichier au dernier élément du tableau





System.out.println(tableau[noligne]);

// for(noligne=0;noligne<tableau.length;noligne++){
// int i=0;
// if (tableau[noligne].equals("")){

// tab[i]=tableau[noligne++];

// i++;

// }
// System.out.println(tab[i]);
// }

}
// System.out.println(tableau[9]);
//System.out.println(tableau.length);
// br.close();


}catch (Exception e){

System.out.println(e.toString());

}

}


}



merci d'avance
0
tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 25
10 juin 2013 à 20:39
Bonsoir,
oui je fais ça et ça marche
Qu'ececqui marche au juste?

Je doutes que le programme que tu décris ci-haut fasse ce dont tu dis:

En effet ton programme ne fait autre chose que de lire un fichier et de le mettre dans un tableau de taille= 1
et ensuite d'afficher la valeur de l'élément tableau[0] autrement dit le seul element du tableau.


Donc Commence déja par lire ton fichier ligne après ligne, et tu vérifies si chaque ligne est vide ou pas puis tu la met dans ton tableau/vecteur. Une ligne vide va déterminer si tu passe à la case suivante de ton tableau/vecteur ou pas

Et c'est tout!
0
tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 25
10 juin 2013 à 22:02
Si non!

Voilà! tu peux remplacer l'utilisation de vector par un tableau ou autre chose.




import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Vector;


public class texte {

    public static void main(String[] args) {
        String fichier = "C:\\borni\\alert.txt";
        Vector vector;
        BufferedReader br;
        String ligne, line = "";
        try {
            br = new BufferedReader(new FileReader(fichier));
            vector = new Vector();
            int i = 0;
            while ((ligne = br.readLine()) != null) {
                if (ligne.isEmpty()) {
                    i = 0;
                    vector.add(line);
                } else {
                    if (i == 0) {
                        line = ligne;
                    } else {
                        line = line + "\n" + ligne;
                    }
                    i++;
                }
            }

            for (int j = 0; j < vector.size();
                    j++) {
                System.out.println(vector.get(j));
            }
        } catch (Exception e) {
            System.out.println(e.toString());
        }

    }
}






Le vecteur vector contient tes blocs comme prévu!

0
oui je lis mon fichier ligne par ligne et je le mets dans un tableau de taille fichier.lengh() et non pas un tableau de taille c à d je mets chaque ligne de fichier dans une case de mon tableau.

testez mon code si vous voulez.

Mon problème maintenant est comment je supprimes les lignes vides de mon tableaut??

merci tksteph
0
tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 25
10 juin 2013 à 23:10
Pas la peinne de vérifier, je pense (en j'en suis certain d'ailleurs) que le code que tu présente ne fait pas donne pas le résultat que
tu attend:

Si l'on se refere à ton code, tu écris:



String[] tableau = new String[0]; //création d'un fichier vide
//NON d'un tableau vide
de taille1

//ie une seule
case


String[] oldTableau = tableau;

int noligne = oldTableau.length; // ICI noligne vaut 0

tableau = new String[noligne+1]; //ICI tu crée un tableau de taille
1

System.arraycopy(oldTableau, 0, tableau,0, noligne);//N'apporte rien de plus ou de moins à ton programme
tableau[noligne] = line; // revient à faire tableau[0]=line vu que noligne ne varie pas
System.out.println(tableau[noligne]); //Pareil :
System.out.println(tableau[0]);



EN gros tu as crée un tableau de taille1 , puis tu parcours ton fichier et à chaque fois tu écrase la valeur contenu dans ton tableau

Quelques remarques:
Fais une boucle qui parcour ton tableau après ton while, et tu verra qu'elle ne t'affichera qu'une ligne;
Affiche la taille de ton tableau et tu verra qu'elle vaut 1

En java il n'existe pas de fonction primitive qui te donne directement la taille (nombre de lignes ) d'un fichier. donc fichier.lengh() ne tient pas la route, il faut au préalable avoir parcouru le fichier, ce que tu ne fais pas


Je pense qu'avec ça tu devrais comprendre pourquoi ce que t'as écris ne fais pas ce que tu attend.

Le fait que tu affiches
System.out.println(tableau[noligne]) dans ton while de donne l'impression que ton tableau est rempli des lignes de ton fichier,
Mais c'est normal car en une phrase , ton programme 'Lis un fichier et l'affiche en sortie'

Ce que je t'ai proposé plus haut résoud ton problème c'est à dire que t'as un vecteur que j'ai appelé vector qui est rempli des differents blocs de ton fichier (2 blocs sont séparés par une ligne vide)

et vector.get(0) te donne le premier bloc, vector.get(1) le second et ainsi de suite.

Si tu souhaites utiliser les tableau à la place des vecteurs, pas de problème il suffit de remplacer.

Bon courage!

0
merci bcp tsteph

oui tu as raison c'est juste ce que tu as dis

mon code après modification que me donne le résultat


import java.io.*;
import java.util.Vector;

public class texte {
public static void main(String[] args){


//String chaine="";

String fichier ="C:\\borni\\alert.txt";

//lecture du fichier texte
String[] tableau = new String[0]; //création d'un fichier vide
//String[] tab = new String[0]; //création d'un fichier vide
try {


java.io.InputStream ips=new java.io.FileInputStream(fichier);


java.io.InputStreamReader ipsr=new java.io.InputStreamReader(ips);

java.io.BufferedReader br=new java.io.BufferedReader(ipsr);

String ligne;
String line;

//boolean fich;



//parcour du fichier

while ((ligne=br.readLine())!=null){

String[] oldTableau = tableau;

int noligne = oldTableau.length;

tableau = new String[noligne+1]; //afin d'ajouter la ligne on augmente la capacité du tableau

System.arraycopy(oldTableau, 0, tableau,0, noligne);//on recopie le contenu de l'ancien tableau dans le nouveau


tableau[noligne] = ligne; //affectation de la ligne du fichier au dernier élément du tableau





System.out.println(tableau[noligne]);

// for(noligne=0;noligne<tableau.length;noligne++){
// int i=0;
// if (tableau[noligne].equals("")){

// tab[i]=tableau[noligne++];

// i++;

// }
// System.out.println(tab[i]);
// }

}

System.out.println("\n***************************************");


System.out.println(tableau[9]);
//System.out.println(tableau.length);
// br.close();


}catch (Exception e){

System.out.println(e.toString());

}

}


}

et maintenant est ce que tu peut m'aider de faire la suppression des ligne vide de mon tableau???
0
voilà je fais ce boucle mais il ne me donne pas de résultat il m'affiche une exception :(

for(noligne=0;noligne<tableau.length;noligne++){
int i = 0;
if(tableau[noligne].isEmpty())
tab[i]=tableau[noligne+1];
else
tab[i]=tableau[noligne];

i++;



System.out.println(tab[i]);


}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 25
11 juin 2013 à 00:30
Toujours pas OK. T'as regardé au moins ce que je t'ai proposé?

Ce que tu viens de faire dans le programme ci-dessus c'est de construire (A la fin) un tableau dont chaque case contient une ligne du fichier.
En effet regarde ton fichier, et tu compte le nombre de blocs que tu voudrais obtenir à la fin, et affiche la taille de ton tableau et tu verra qu'elle est beaucoup trop grande pour être le résultat que tu attend (Même si tu ajoutes les lignes vide).

Tu dois être capable de savoir si ton résultat est bon ou pas:
Par exemple avec la taille tu tableau (Qui est un tres bon indice)
Ou alors e affichant un element de ton tableau: par exemple (au hasard)
tableau[0]// et tu vois si ça t'affiche le bloc que tu attend.

De plus fais gaffe avec les System.out.println() à l'intérieure de la boucle while, je pense que c'est ça qui te donne l'impression que tu fais bien pourtant c pas le cas.


Remarque:

et maintenant est ce que tu peut m'aider de faire la suppression des ligne vide de mon tableau???


En Java on ne peut pas modifier la taille d'un tableau:
je constate que dans ton programme tu contournes celà en fesant des copies/recopies du tableau et en instanciant des nouveaux tableaux à chaque fois , mais Attention!!!! celà risque de te couter très chère en terme de mémoire!!!

Pour supprimer des "cases" ( je dirai cases ou entrées plustôt que lignes) d'un tableau, il faut donc soit recopier le tableau dans un autre , en ne prenant pas les cases vide, soit faire des décallages dans ton tableau de sorte à mettre toutes les lignes vide vers l'arriere du tableau.

Mais je ne vois pas en quoi tu as besoin de ça pour ton programme.

Je crois t'avoir donné la solution.


Bon courage!
0
merci bcp tksteph
0