Soyez le premier à donner votre avis sur cette source.
Snippet vu 18 418 fois - Téléchargée 21 fois
// This program is done // Billal Begueradj // Bejaia Univerity. // Regards #include<stdio.h> #include<conio.h> #include<iostream.h> int n; void main() /* début du programme principal */ { /* partie déclaration des variables */ int matrice[10][10]; int vecteur[100]; int i,j,k=0,m,dim; int supplement; /* pour la permutation */ int max,rgmax; puts("nnt **** Bienvenue: ****"); printf("nn Ce programme fait trier une matrice donnée en décroissance"); puts(" **** **** "); puts(" **** "); printf("nIntroduire le nombre de lignes de la matrice :"); scanf("%d",&m); puts("nIntroduire le nombre de colonnes:"); scanf("%d",&n); dim=n*m; /*dim est la dimension du vecteur émanant de la matrice */ /* ici on va saisir la matrice, en meme temps on remplit le vecteur */ puts("nSaisissez les éléments de la matrice :n"); for (i=0; i<m; i++) for (j=0; j<n; j++) { printf("Elément [%d][%d] : ",i,j); scanf("%d", &matrice[i][j]); supplement=matrice[i][j]; vecteur[k]=supplement; //remplissage du vecteur en meme temps que la // saisie de la matrice pour économiser les instructions */ k++; } clrscr(); //on efface l'écran surchargé puts("Voici la matrice que vous avez tapé:"); for(i=0;i<m;i++) { for(j=0;j<n;j++) printf("%3d",matrice[i][j]); printf("n"); } /* maintenant on va trier le vectuer en décroissance */ for(i=0;i<dim;i++) { max=vecteur[i]; rgmax=i; for(j=i+1;j<dim;j++) { if(max<vecteur[j]) { max=vecteur[j]; rgmax=j; } } vecteur[rgmax]=vecteur[i]; vecteur[i]=max; } printf("n"); k=0; /* maintenant, on va affecter les éléments du vecteur à la matrice */ for(i=0;i<m;i++) for(j=0;j<n;j++) { matrice[i][j]=vecteur[k]; k++ ;} puts("nnVoici la matrice triée:"); for(i=0;i<m;i++) { for(j=0;j<n;j++) printf("%3d",matrice[i][j]); printf("n"); } cout<<"nntCe programme est réalisé par :n"; cout<<"nntt Prénoom : Billal"; cout<<"ntt Nom : BEGUERADJ"; }
réalisé par moi: gueroihi mohamed.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{ int M[3][3]={{8,4,6},{7,5,1},{4,9,2}};
int n,m,i,j,k,l,imin,jmin,jj,aux;
n=3;
m=3;
//Affichage avant le tri
printf("Matrice initiale:\n");
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
printf("%d\t",M[i][j]);
printf("\n");
}
//Le tri (tri par selection)
for (i=0;i<n;i++)
for (j=0;j<m;j++)
{ imin=i;
jmin=j;
for (k=i;k<n;k++)
{ if (k==i) jj=j+1; else jj=0;
for (l=jj;l<m;l++)
if (M[k][l]<M[imin][jmin])
{
imin=k; jmin=l;
}
}
//permutation
aux=M[i][j];
M[i][j]=M[imin][jmin] ;
M[imin][jmin]=aux;
}
//Affichage apres le tri
printf("\n\nmatrice triee:\n");
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
printf("%d\t",M[i][j]);
printf("\n");
}
getch();
}
import java.util.*;
public class tri {
//par le leader
//Tarik
public static void main(String[] args) throws IOException{
BufferedReader c=new BufferedReader(new InputStreamReader (System.in) ) ; // TODO, add your application code
System.out.println("Hello World!");
int tableau[][]=new int [4][4];
for(int i=0;i<4;i++)
{ for(int ii=0;ii<4;ii++)
{
int j=(int)(Math.random() * (100-0)) + 0;
tableau[i][ii]=j;
System.out.print (" "+tableau[i][ii]);
}System.out.println ();}
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
for(int ii=0;ii<4;ii++)
{
for(int jj=0;jj<4;jj++)
{
if(tableau[i][j]<tableau[ii][jj])
{
int aux = tableau[i][j];
tableau[i][j]= tableau[ii][jj];
tableau[ii][jj] = aux;
}}}}}
System.out.println ();
for(int i=0;i<4;i++)
{ for(int ii=0;ii<4;ii++)
{
System.out.print (" "+tableau[i][ii]);}System.out.println ();}
System.out.println ("par tarik contactez-moi sur leader_tariman@hotmail.fr" );
}
}
Grâce à vous j'ai deviné à quel point je suis stupide !
Je comprends à présent votre proposition et je ne vais pas tarder à l'implémenter.
Merci beaucoup.
Le problème est toujours là : vous vous êtes servi d'un tableau intermédiaire pour trier ma matrice !!! C'est justement ce que je veux éviter !!!
int * matrice;
int * tableau;
tableau = (int*) malloc(x*y*4);
matrice = tableau;
// remplissage de la matrice
// bubble sort du tableau
// La matrice est triée.....
Merci quand même !!
Byyyyyyyyyyyyyyyyyyyyyyyyyye!
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.