IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Redimensionnement d'un tableau en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2022
    Messages : 5
    Par défaut Redimensionnement d'un tableau en C
    Bonsoir,
    Je m'explique, j'ai créé cette structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    struct render{
        int img[1000][1000];
    };
    J'aimerais ensuite dans ma fonction main pouvoir redimensionner l'image si l'utilisateur le souhaite par exemple avec strtok() ou ce genre de fonctions. Le problème c'est que je ne sais pas comment faire. J'ai bien tenté de laisser int img[][] mais apparement il n'aime pas ne pas savoir quoi allouer comme espace.
    J'attends impatiemment vos réponses, merci!

  2. #2
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 785
    Par défaut
    Pour te répondre, je ne sais pas quoi te dire

    Parce que si tu veux redimensionner "ta zone mémoire", il faut 1 pointeur (et donc malloc, realloc pour réallouer ta zone mémoire, ...)
    En gros tu as créé 1 grosse zone de 1000*1000 cases (en C, quelque soit la dimension, 1 tableau statique est toujours "à plat") pour 1 image de 1000x1000. Si tu veux passez à 1 image 500x500 ou 2000x2000, il faut recréer 1 nouvelle zone/ ou réallouer la zone ... avec 1 copie de l'image.

    Ou sinon, tu veux juste redimensionner "ton image".
    En gros tu as créé 1 grosse zone de 1000*1000 cases, mais il contient qu'1 image de 20x20, 250x400, ... Le redimensionnement c'est juste 1 algo.

    strtok sert à "casser" 1 chaîne de caractères : strtok, documentation en anglais.
    tu as 1 image pas 1 chaîne de caractères

    Et d'ailleurs, bizarre que tu puisses créer 1 variable aussi grosse (1000x1000) sans stackoverflow : il faut utiliser 1 pointeur

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2022
    Messages : 5
    Par défaut
    mandelwtest.c

    Ok normalement j'ai joins mon code pour que tu comprennes mieux.
    Et voici ce que l'on me demande: S’il y a trois arguments, le troisième est la taille de l’image sous la forme widthxheight (la largeur de l’image width, suivie du caractère x suivi de la hauteur de l’image height sans aucun espace).
    Par exemple, 2000x2000.
    En gros je travaille sur l'ensemble de mandelbrot. Il y a deux choix qui se présentent à moi. Soit l'utilisateur ne propose pas de taille d'image et donc ce sera 1000x1000 par défaut, soit il demande une autre taille et alors il faut changer la taille de img. Le strtok sert à couper 2000x2000 par exemple avec "x" comme caractère séparateur.

  4. #4
    Membre Expert Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 794
    Par défaut
    Hello,

    Quelque chose dans le genre
    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
    #include <stdlib.h>
     
     
    /*
    	si donné, argv[1] contient la taille de l'image (200, 2000, 1500) que l'on suppose carrée
    */
    int main(int argc,char *argv[]) {
    	int img_size;
     
    	if(argc<2)
    		img_size=1000;
    	else
    		img_size=atoi(argv[1]);
     
    	int *img=malloc(img_size*2);
     
    	....
     
    	free(img);
     
    	retun(0);
    }
    ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2022
    Messages : 5
    Par défaut
    Merci à vous tous pour vos réponses.
    Je vous souhaite une bonne soirée,
    Rémy

Discussions similaires

  1. redimensionner dynamiquement un tableau
    Par sebac dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/03/2010, 17h01
  2. [MySQL] Redimensionnement d'un tableau
    Par Palsajicoco dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 10/07/2009, 10h49
  3. Bloquer le redimensionnement d'un tableau
    Par Danger dans le forum Word
    Réponses: 4
    Dernier message: 26/09/2008, 21h20
  4. redimensionnement d'un tableau
    Par mobidyc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 21/03/2008, 16h03
  5. Redimensionnement d'un tableau
    Par edophie dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/03/2007, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo