Aide programmation tableau
NCE26
-
cchristian Messages postés 921 Date d'inscription Statut Membre Dernière intervention -
cchristian Messages postés 921 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je dois faire un exercice mais je bloque.
Pourriez-vous m'aider svp ?
L'exercice dit:
Soit A, un tableau contenant n entiers non triés. Ecrire une procédure qui permet d'écalter A en deux tableaux, T1 et T2 triés et contenant respectivement les éléments impairs et pairs de A.
Merci!
David
Je dois faire un exercice mais je bloque.
Pourriez-vous m'aider svp ?
L'exercice dit:
Soit A, un tableau contenant n entiers non triés. Ecrire une procédure qui permet d'écalter A en deux tableaux, T1 et T2 triés et contenant respectivement les éléments impairs et pairs de A.
Merci!
David
A voir également:
- Aide programmation tableau
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
17 réponses
Bonsoir,
NON , les gars, faut se bouger un peu, faites au moins un début d'embryon de commencement de quelque chose. Que l'on ait pas l'impression d'être pris pour des bourricots.
NON , les gars, faut se bouger un peu, faites au moins un début d'embryon de commencement de quelque chose. Que l'on ait pas l'impression d'être pris pour des bourricots.
J'ai bien essayé de faire mais je n'y arrive pas du tout...je débute dans la programmation c'est ma première année, c'est pour ça que je demande un peu d'aide...
Merci
David
Merci
David
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
A tout hasard en C(++) :
A tout hasard en C(++) :
void raz_Tn (int (*T1), int (*T2), int (*T3), int nb_elemts_T) { int i = 0 ; for ( i = 0; i < nb_elemts_T; i++) { T1 [i] = 0 ; T2 [i] = 0 ; T3 [i] = 0 ; } } void tri_T1 (int (*T1), int nb_elemts_T) { int i = 0 ; int j = 1 ; int int_T1 = 0 ; for ( i = 0; i < nb_elemts_T; i++) { for ( j = i + 1; j < nb_elemts_T; j++) { if ( T1 [i] > T1 [j] ) { int_T1 = T1 [j] ; T1 [j] = T1 [i] ; T1 [i] = int_T1 ; } } } } void parit_Tn (int (*T1), int (*T2), int (*T3), int nb_elemts_T) { int i = 0 ; int j = 0 ; int k = 0 ; int reste = 0 ; for ( i = 0; i < nb_elemts_T; i++) { reste = T1 [i] % 2 ; if ( reste > 0 ) { T2 [j] = T1 [i] ; j++ ; } else { T3 [k] = T1 [i] ; k++ ; } } } int main () { int I = 0 ; int N = 0 ; int nb_elemts_T = 10 ; //Affectation des ressources mémoire au tableau. int * T1 = NULL ; T1 = (int*) malloc (nb_elemts_T * sizeof (int*)) ; int * T2 = NULL ; T2 = (int*) malloc (nb_elemts_T * sizeof (int*)) ; int * T3 = NULL ; T3 = (int*) malloc (nb_elemts_T * sizeof (int*)) ; //Spécifique C++ (à tout hasard) remplacé ici par malloc // int * T1 = NULL ; // T1 = new int [nb_elemts_T] ; // int * T2 = NULL ; // T2 = new int [nb_elemts_T] ; // int * T3 = NULL ; // T3 = new int [nb_elemts_T] ; //Fin spécifique C++ IF (T1 == NULL) {printf ("nom_pgm: Probleme a la creation du tableau T1") ; return (1) ;} IF (T2 == NULL) {printf ("nom_pgm: Probleme a la creation du tableau T2") ; return (2) ;} IF (T3 == NULL) {printf ("nom_pgm: Probleme a la creation du tableau T3") ; return (3) ;} raz_Tn (T1, T2, T3, nb_elemts_T) ; for ( I = 0; I < nb_elemts_T; I++) { T1 [I] = rand (); } tri_T1 (T1, nb_elemts_T) ; // Pour Contrôles visuels : printf ("\n\n\nTABLEAU T1 DES %i VALEURS ALEATOIRES :", nb_elemts_T); for ( I = 0; I < nb_elemts_T; I++) { printf ("\nT1 : %i", T1 [I]); } // fin Pour Contrôles visuels : parit_Tn (T1, T2, T3, nb_elemts_T) ; // Pour Contrôles visuels : printf ("\n\n\nTABLEAU T2 DES VALEURS IMPAIRES :"); for ( I = 0; I < nb_elemts_T; I++) { printf ("\n%T2 : %i", T2 [I]); } printf ("\n\n\nTABLEAU T3 DES VALEURS PAIRES :"); for ( I = 0; I < nb_elemts_T; I++) { printf ("\nT3 : %i", T3 [I]); } // fin Pour Contrôles visuels : //Libération des ressources mémoire affectées au tableau. //Spécifique C++ (à tout hasard remplacé ici par free) // delete [] T1 ; //Fin spécifique C++ free (T1) ; IF (T1 == NULL) {printf("\nom_pgm: Probleme a la destruction du tableau T1"); return (4) ;} //Spécifique C++ (à tout hasard remplacé ici par free) // delete [] T2 ; //Fin spécifique C++ free (T2) ; IF (T2 == NULL) {printf("\nom_pgm: Probleme a la destruction du tableau T2"); return (5) ;} //Spécifique C++ (à tout hasard remplacé ici par free) // delete [] T3 ; //Fin spécifique C++ free (T3) ; IF (T3 == NULL) {printf("\nom_pgm: Probleme a la destruction du tableau T3"); return (4) ;} printf ("\n Fin du traitement \n\n" ) ; _getch () ; return (0) ; }
Bah j'ai vu grand, je renseigne le tableau avec des nombres aléatoires, j'édite systématiquement
les résultats (printf) pour contrôles visuels, je donne lorsque c'est utile, les 2 versions
C et C++ (malloc, free),....
Faut bien aider, je me suis fait engueuler (par MP) par un membre qui n'a pas aimé ma
première remarque (voir plus haut) !
les résultats (printf) pour contrôles visuels, je donne lorsque c'est utile, les 2 versions
C et C++ (malloc, free),....
Faut bien aider, je me suis fait engueuler (par MP) par un membre qui n'a pas aimé ma
première remarque (voir plus haut) !
Version simplifiée :
void tri_T1 (int (*T1), int nb_elemts_T) {int i = 0, j = 1, int_T1 = 0; for ( i = 0; i < nb_elemts_T; i++) { for ( j = i + 1; j < nb_elemts_T; j++) { if ( T1 [i] > T1 [j] ) { int_T1 = T1 [j] ; T1 [j] = T1 [i] ; T1 [i] = int_T1 ;} } } } void parit_Tn (int (*T1), int (*T2), int (*T3), int nb_elemts_T) {int i = 0, j = 0, k = 0; for ( i = 0; i < nb_elemts_T; i++) { if ( (T1 [i] % 2) > 0 ) { T2 [j++] = T1 [i] ; } else { T3 [k++] = T1 [i] ; } } } int main () { int I = 0, nb_elemts_T = 10 ; int * T1 = NULL ; T1 = (int*) malloc (nb_elemts_T * sizeof (int*)) ; int * T2 = NULL ; T2 = (int*) malloc (nb_elemts_T * sizeof (int*)) ; int * T3 = NULL ; T3 = (int*) malloc (nb_elemts_T * sizeof (int*)) ; for ( I = 0; I < nb_elemts_T; I++) { T1 [I] = rand (); } tri_T1 (T1, nb_elemts_T) ; printf ("\n\n\nTABLEAU T1 DES %i VALEURS ALEATOIRES :", nb_elemts_T); for ( I = 0; I < nb_elemts_T; I++) { printf ("\nT1 : %i", T1 [I]); } parit_Tn (T1, T2, T3, nb_elemts_T) ; printf ("\n\n\nTABLEAU T2 DES VALEURS IMPAIRES :"); for ( I = 0; I < nb_elemts_T; I++) { printf ("\n%T2 : %i", T2 [I]);} printf ("\n\n\nTABLEAU T3 DES VALEURS PAIRES :"); for ( I = 0; I < nb_elemts_T; I++) { printf ("\nT3 : %i", T3 [I]); } free (T1), (T2), (T3) ; _getch () ; return (0) ; }
Salut,
Allez, il y a du C++, du PHP. Je propose ma version python ^^.
Allez, il y a du C++, du PHP. Je propose ma version python ^^.
import random liste=[random.randint(1,15) for i in range(10)] b=sorted([j for j in liste if j%2==0]) c=sorted([j for j in liste if j%2]) print liste print b print c
Version php complète :
<?php
$a = $t1 = $t2 = array();
for ($i=0;$i<=50;$i++)
array_push($a,rand(0,200));
print_r($a);
echo '<br />';
natsort($a);
foreach($a as $tri=>$valeur) {
if ( $valeur%2 != 0 )
array_push($t1,$valeur);
else
array_push($t2,$valeur);
}
print_r($t1);
echo '<br />';
print_r($t2);
?>
<?php
$a = $t1 = $t2 = array();
for ($i=0;$i<=50;$i++)
array_push($a,rand(0,200));
print_r($a);
echo '<br />';
natsort($a);
foreach($a as $tri=>$valeur) {
if ( $valeur%2 != 0 )
array_push($t1,$valeur);
else
array_push($t2,$valeur);
}
print_r($t1);
echo '<br />';
print_r($t2);
?>
Salut,
En fait, on fait ça en Français, un peu comme du C mais en Français.
Merci à tous
David
En fait, on fait ça en Français, un peu comme du C mais en Français.
Merci à tous
David
Bonjour,
Si C en français, C sous forme algorithmique alors ?
Algorithme :
Ensemble de règles opératoires dont l'application permet de résoudre un problème énoncé au moyen d'un nombre fini d'opérations. Un algorithme peut être traduit, grâce à un langage de programmation, en un programme exécutable par un ordinateur. © Larousse 2004
Si C en français, C sous forme algorithmique alors ?
Algorithme :
Ensemble de règles opératoires dont l'application permet de résoudre un problème énoncé au moyen d'un nombre fini d'opérations. Un algorithme peut être traduit, grâce à un langage de programmation, en un programme exécutable par un ordinateur. © Larousse 2004
Salut,
Voici ce que j'ai fais:
procedure blabla
{tabinit=tableau d'entier
tabimp= pareil
tabpr=pareil
nbpr=entier
nbimp=pareil
t=entier}
{t est la taille du tableau}={nbpr: les nombres pair
nbimp: les nombres impair}
var i entier
nbpr<---tabpr[0]
nbimp<---tabimp[0]
pour i de 0 à t-1
Si tab init[i]=0
alors tabpr[i]<---nbpr
sinon
tabimp[i]<---nbimp
fin si
fin pour
fin procédure
Voilà voilà...si vous pouvez me la corriger ça serait sympa.
Voici ce que j'ai fais:
procedure blabla
{tabinit=tableau d'entier
tabimp= pareil
tabpr=pareil
nbpr=entier
nbimp=pareil
t=entier}
{t est la taille du tableau}={nbpr: les nombres pair
nbimp: les nombres impair}
var i entier
nbpr<---tabpr[0]
nbimp<---tabimp[0]
pour i de 0 à t-1
Si tab init[i]=0
alors tabpr[i]<---nbpr
sinon
tabimp[i]<---nbimp
fin si
fin pour
fin procédure
Voilà voilà...si vous pouvez me la corriger ça serait sympa.
J'ai essayé de faire quelque chose, je vous ai dis, je débute en algorithimique...
En tous cas, l'excercice dit:
Soit A, un tableau contenant n entiers non triés. Ecrire une procédure qui permet d'écalter A en deux tableaux, T1 et T2 triés et contenant respectivement les éléments impairs et pairs de A.
J'ai remplacé quelques appellations, mais à la fin c'est pareil.
Si vous pouvez me le corriger, ça serait super cool, en plus c'est pour demain après-midi...
Merci
David
En tous cas, l'excercice dit:
Soit A, un tableau contenant n entiers non triés. Ecrire une procédure qui permet d'écalter A en deux tableaux, T1 et T2 triés et contenant respectivement les éléments impairs et pairs de A.
J'ai remplacé quelques appellations, mais à la fin c'est pareil.
Si vous pouvez me le corriger, ça serait super cool, en plus c'est pour demain après-midi...
Merci
David
Bonsoir,
Voici une base de travail, de réflexion,
NB. Les élément des tableaux sont référencés de 1 à n. Variable++ signifie progression de 1
du contenu de la variable aprés son utilisation dans l'instruction qui la contient.
Voici une base de travail, de réflexion,
DEBUT PGM ---Définition et Initialisation des variables élémentaires nb_elemts_T=n, I = 1, J = 1, K = 1......... ---Définition et allocation mémoires de 3 tableaux numériques de tailles identiques T1, T2, T3. --- FAIRE pour tout les nb-elemts_T de T2 et T3: --- Initialisation à la valeurs zéro des nb-elemts_T des 2 tableaux T2 et T3. --- FIN FAIRE --- FAIRE pour tout les nb-elemts_T de T3 : --- Chargement des nb_elemts_T du tableau T1 avec des valeurs numériques (nombres aléatoires ?) --- FIN FAIRE Trier en valeurs ascendantes les éléments du tableau T1 (sous programme ou utilitaire de tri) --- FAIRE pour chaque element (e[I]) de T1, progression de 1 à chaque itération jusqu'à e[nb_elemts_T - 1]: --- FAIRE une comparison avec les éléments suivants du tableau ( e[I+1], e[I+2], ...e[nb_elemts_T] ) : --- Si element (e[I]) de T1 > element (e[I+n]) de T1 --- Permuter les valeurs de : element (e[I]) de T1 avec element (e[I+n]) de T1 --- FI SI --- FIN FAIRE --- FIN FAIRE Recherche parité ou non parité (sous programme I = 1, J = 1, K = 1) : --- FAIRE pour chaque element (e[I]) de T1, progression de 1 à chaque itération jusqu'à e[nb_elemts_T]: --- Si element (e[I]) de T1 % 2 > 0 (nombre impair dans T2) --- valeur contenu dans element (e[I]) de T1 dans élément (e[J++] de T2 --- SINON (nombre pair dans T3) --- valeur contenu dans element (e[I]) de T1 dans élement (e[K++] de T3 --- FI SI --- FIN FAIRE --- FAIRE pour chaque element de T1, T2 et T3,progression de 1 à chaque itération jusqu'à nb_elemts_T : ---- Affichage à la console (ou impression papier) par tableau des valeurs qu'ils contiennent.. --- FIN FAIRE --- Libération des ressources mémoires (le cas échéant suivant le langage) ............................. (suite événtuelle du programme) .............................. FIN PGM
NB. Les élément des tableaux sont référencés de 1 à n. Variable++ signifie progression de 1
du contenu de la variable aprés son utilisation dans l'instruction qui la contient.