salut!!
comment fair pour supprimer une ligne et une clonne d'une matrice merci
salut!!
comment fair pour supprimer une ligne et une clonne d'une matrice merci
Pour être capable de répondre, il faudrait savoir comment la matrice a été écrite.
voila la declaration
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 AnsiString **MatSor; //MATRICE D'INCIDENCE sorti try { MatSor = new AnsiString*[NbrRegle]; for (int j = 0; j <NbrRegle; j++) { MatSor[j] = new AnsiString[NbrRegle]; } for (int i = 0; i <NbrFact; i++) { MatSor[i] = new AnsiString[NbrFact]; } } catch(...) { // ça peut arriver ce genre d'erreur, c pr ça qu'il faut gérer ces exception ShowMessage("Erreur lors de l'allocation dynamique de la mémoire pour la matrice de codage"); return; }
esque sa marche si je fais :
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MatSor[i][j].delete(i,j);
Salut !
Tout dépend de ce que tu attends du delete, au sens où que devient ta matrice après cette suppression de ligne ou de colonne ?
Est-ce qu'il ne faudrait pas mettre au point une classe spéciale ?
... c'est peut-être idiot ce que je vais dire, mais j'aurais fait ça avec une TList pour les lignes et une TStringList par ligne ...
A plus !
je voudrais juste suprimer uen ligne et la colonne qui lui correspond d'apres une condition !! et le reste de la matrice ne change pas !!
salut!!
j'ai identifier les lignes et les colonnes a suprimer par un "X"
ensuite j'ai fait un teste et une boucle si il trouve le X il sote la colonne sinon il remplasse le contenu de la matrice dans une autre matrice ,voila la codemais le probleme il reprend la matrice en enlevant tout sans le contenus sof la 1ere ligne et les lignes et colonnes augmente malgres qu'ils devraient etre diminuer.ou se trouve l'erreur?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 String tmp[1000][1000]; int l=0,c=0; int i=1; while (i<m1->RowCount) { int j=1; while (j<m1->ColCount) { if (m1->Cells[j][i]=="X") { j++; if(j==m1->ColCount) { i++; } } if (m1->Cells[j][i]!="X") { tmp[l][c] = m1->Cells[j][i]; c++; j++; } } i++; l++; } //============================ ShowMessage("l= "+IntToStr(l)); ShowMessage("c= "+IntToStr(c)); ShowMessage("4"); m1->RowCount=c+1; m1->ColCount=l+1; for (int u=1;u< m1->ColCount;u++) for (int v=1;v<m1->RowCount;v++) { m1->Cells[v][u]= tmp[u-1][v-1]; //remplire ma matrice } //============================ }
sinon esqu'ilya un moyen de supprimer directe les cononnes que j'ai identifier?merci
Bonjour nessing,
Si c'était à moi de programmer, voici comment je ferai :
J'ai rajouté le n afin de savoir exactement combien de lignes nous avons supprimé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 String tmp[1000][1000]; void __fastcall TForm1::Button1Click(TObject *Sender) { int i,j,c,l; int n; n=m1->RowCount; c=-1; for(i=0; i<m1->RowCount; i++) { c=c+1; for (j=0; j<m1->ColCount; j++) if (m1->Cells[j][i]!="x") { l=j; tmp[c][l]=m1->Cells[j][i]; } else { for(int k=0; k<m1->ColCount; k++) tmp[c][k]=""; c=c-1; n=n-1; break; } } for (int v=0; v<m1->RowCount;v++) for (int u=0; u<m1->ColCount;u++) m1->Cells[u][v]= tmp[v][u]; m1->RowCount=n; }
J'espère que cela vous aidera.
A bientôt![]()
Salut nessing,
Je viens de me rendre compte que ce que j'ai posté tout à l'heure ne correspond pas exactement à votre requête. En effet, le code supprime les lignes dans lesquelles se trouvent les "x" alors que vous souhaitez supprimer les lignes et "les colonnes" correspondantes.
Je me remets au boulot et je vous contacte très rapidement.
Bien cordialement.
A bientôt![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager