Comparer deux tableaux

backman - 24 janv. 2013 à 22:42
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 25 janv. 2013 à 08:54
Salut , a tous.
j'ai un souci avec mon programme, en fait je travail sur un projet Windows Form avec visual studio.
Le but du programme est de pouvoir afficher dans deux listbox dix valeurs et de dire si les valeurs
de chaque listbox sont identiques ( même si elles sont dans un ordre différent ).
On m'a conseillé d'utiliser ( en plus des deux premiers tableaux ) un troisième tableau booléen
pour pouvoir comparer les valeurs des deux autres mais c'est là que ça se complique parce que je sais
pas comparer les valeurs des tableaux . Besoin d'aide le plus vite possible svp.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
float[] tab1 = new float[10];
float[] tab2 = new float[10];
bool[] tab3 = new bool[10];
Random rand = new Random();

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();

for(int x=0 ; x<9; x ++)
{


listBox1.Items.Add(tab1[x]);
listBox2.Items.Add(tab2[x]);
listBox3.Items.Add(tab3[x]);
tab1[x] = rand.Next(0, 5);
tab2[x] = rand.Next(0, 8);
}
// int i = 0;
// while (i < 10)
//{
// listBox3.Items.Clear();
// le tab1 compare chaque cases tu tab2 avec sa case 0

// if( tab1[0] == tab2[i])
// {

// tab3[i]=true;

// }
// listBox3.Items.Add(tab3[i]);

// i++;
//} La partie en verte est certainement fausse , donc ne la prenez pas en compte

}
}
}

1 réponse

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
25 janv. 2013 à 08:54
Bonjour,

quand tu postes, utilise les balises synstaxiques, c'est plus clair à la lecture (3ième icône en partant de la droite : )
.

Du coup je n'ai pas lu ton code.

Es tu obligé d'utiliser des tableaux? Les List<T> sont plus souples (pas besoin de connaitre la taille à l'avance par exmple)

Je te propose un petit exemple qui se sert de la methode Contains pour comparer 2 tableaux et mettre les communs dans une liste:
            string[] tutu = { "ad", "dgt", "aa" };
            string[] tata = { "ab", "dgt", "aaa" ,"ad"};
            List<string> tete = new List<string>();

            foreach (string texte in tutu)
                if (tata.Contains(texte)) tete.Add(texte);



Whismeril
0
Rejoignez-nous