CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Problème dans mon programme ?

Cuicuimodi
Cuicuimodi
Niveau 5
12 novembre 2020 à 15:51:54

Salut les kheys, j'avais un programme en C à faire avec pour consigne : Écrire un algorithme qui recherche le plus grand nombre dans un tableau d'entiers à deux dimensions préalablement rempli, possédant 3 lignes et 5 colonnes.
Du coup j'ai réalisé ça, mais ça ne fonctionne pas...si quelqu'un peut m'aider je suis preneur.

int var_temporaire;
int var_temporaire2;

int tab_nombre[3][5]={0,1,2,3,4,5,6,7,8,9,5,4,2,1,7};
int indiceColonne, indiceLigne;

for(indiceLigne = 0; indiceLigne <= 2; indiceLigne++)
{
for(indiceColonne = 0; indiceColonne <= 4; indiceColonne++)
{

printf("%d", tab_nombre[indiceLigne][indiceColonne]);
}
}

for(indiceLigne = 0; indiceLigne <= 2; indiceLigne++)
{
for(indiceColonne = 0; indiceColonne <= 4; indiceColonne++)
{
if (tab_nombre[indiceLigne] > tab_nombre[indiceLigne+1])
{
var_temporaire = tab_nombre[indiceLigne] ;
}
else
var_temporaire = tab_nombre[indiceLigne+1];

if (tab_nombre[indiceColonne] > tab_nombre[indiceColonne+1])
{
var_temporaire2=tab_nombre[indiceColonne];
}
else var_temporaire2 = tab_nombre[indiceColonne+1];

}
}

if (var_temporaire > var_temporaire2)
{
printf("%d\n", var_temporaire);
}
else
{
printf("%d\n", var_temporaire2);
}

Cuicuimodi
Cuicuimodi
Niveau 5
12 novembre 2020 à 15:57:12

https://image.noelshack.com/fichiers/2020/46/4/1605193008-prog.png

ça sera peut etre plus lisible comme ça

Cuicuimodi
Cuicuimodi
Niveau 5
12 novembre 2020 à 15:57:41

https://image.noelshack.com/fichiers/2020/46/4/1605193053-prog2.png

Hraezvelg
Hraezvelg
Niveau 6
12 novembre 2020 à 16:06:22

Salut

int main() 
{
    int result = 0;
    
    int tab_nombre[3][5]={0,1,2,3,4,5,6,7,8,9,5,4,2,1,7};
    int indiceColonne, indiceLigne;

    for(indiceLigne = 0; indiceLigne <= 2; indiceLigne++)
    {
        for(indiceColonne = 0; indiceColonne <= 4; indiceColonne++)
            printf("%d", tab_nombre[indiceLigne][indiceColonne]);
    }
        
    for(indiceLigne = 0; indiceLigne <= 2; indiceLigne++)
    {
        for(indiceColonne = 0; indiceColonne <= 4; indiceColonne++)
        {
            if(tab_nombre[indiceLigne][indiceColonne] > result)
                result = tab_nombre[indiceLigne][indiceColonne];
        }
    }
    
    printf("Result: %d\n", result);
}

Le code ne devrait pas être compliqué à comprendre (j'ai uniquement changé la seconde boucle), mais si jamais tu as une question n'hésite pas à la poser.

Cuicuimodi
Cuicuimodi
Niveau 5
12 novembre 2020 à 17:15:33

Le 12 novembre 2020 à 16:06:22 hraezvelg a écrit :
Salut

int main() 
{
    int result = 0;
    
    int tab_nombre[3][5]={0,1,2,3,4,5,6,7,8,9,5,4,2,1,7};
    int indiceColonne, indiceLigne;

    for(indiceLigne = 0; indiceLigne <= 2; indiceLigne++)
    {
        for(indiceColonne = 0; indiceColonne <= 4; indiceColonne++)
            printf("%d", tab_nombre[indiceLigne][indiceColonne]);
    }
        
    for(indiceLigne = 0; indiceLigne <= 2; indiceLigne++)
    {
        for(indiceColonne = 0; indiceColonne <= 4; indiceColonne++)
        {
            if(tab_nombre[indiceLigne][indiceColonne] > result)
                result = tab_nombre[indiceLigne][indiceColonne];
        }
    }
    
    printf("Result: %d\n", result);
}

Le code ne devrait pas être compliqué à comprendre (j'ai uniquement changé la seconde boucle), mais si jamais tu as une question n'hésite pas à la poser.

Merci beaucoup !!

iLunes
iLunes
Niveau 1
21 novembre 2020 à 16:48:58

Sur cette ligne là :
if (tab_nombre[indiceLigne] > tab_nombre[indiceLigne+1])
Le problème est que dès que tu va arriver au bout de ton tableau la ligne à l'indice indiceLigne+1 débordera du nombre de case dans ton tableau :/

dechet_s0cial
dechet_s0cial
Niveau 10
21 novembre 2020 à 17:25:10
#include <stdio.h>
#include <limits.h>
#define N 3 
#define M 5 
  
int findMax(int mat[N][M]) 
{ 
    int maxElement = INT_MIN; 

    for (int i = 0; i < N; i++)
        for (int j = 0; j < M; j++) 
            if (mat[i][j] > maxElement) maxElement = mat[i][j];

    return maxElement; 
} 

int main()
{
  
    int mat[N][M] = { { 1, 2, 3, 4,5}, 
                      { 25, 6, 7, 8,24 }, 
                      { 9, 10, 11, 12,69 }}; 
  
    printf("%d",findMax(mat));
    
    return 0;
}
Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment