Tableau
Fermé
isa
-
6 août 2013 à 18:49
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 6 août 2013 à 22:44
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 6 août 2013 à 22:44
A voir également:
- Tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
2 réponses
arthurg95
Messages postés
2421
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
4 juin 2014
341
6 août 2013 à 18:53
6 août 2013 à 18:53
Bonjour,
Euh... Simplement :
Avec result une variable qui récupère les données du premier tableau (j'ai mit int pour le cas où c'est un tableau d'entier)
Ensuite result += 3 ça correspond aux calculs (à remplacer bien sûr)
et la dernière ligne c'est le placement du résultat dans un nouveau tableau (déjà déclaré bien sûr ).
Envoie ton code si tu as besoin d'un exemple plus concret ;)
Euh... Simplement :
int result = tab1[0]; result += 3; tab2[0] = result;
Avec result une variable qui récupère les données du premier tableau (j'ai mit int pour le cas où c'est un tableau d'entier)
Ensuite result += 3 ça correspond aux calculs (à remplacer bien sûr)
et la dernière ligne c'est le placement du résultat dans un nouveau tableau (déjà déclaré bien sûr ).
Envoie ton code si tu as besoin d'un exemple plus concret ;)
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
Modifié par gravgun le 6/08/2013 à 18:56
Modifié par gravgun le 6/08/2013 à 18:56
Salut, un exemple:
from human import idiocy
del idiocy
int *tableau1 = malloc(20); int* ma_fonction(int *donnees) { int *tableau2 = malloc(20); for (int i=0; i < 20; i++) { // Tu tritures les chiffres de tableau1 et les mets dans tableau2 } return tableau2; } int main() { // TU remplis tableau1 int *calculay = ma_fonction(tableau1); // Tu fais joujou avec tableau2 }Je sais par convention on n'alloue pas de tableau que l'on renvoie, un bordel pour gérer le heap après...
from human import idiocy
del idiocy
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
6 août 2013 à 22:14
6 août 2013 à 22:14
Nope. Dans ma_fonction, tu retournes une adresse située dans le stack => Erreur assurée (ou coup de chance). Il faut passer par un double pointeur.
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
6 août 2013 à 22:44
6 août 2013 à 22:44
Je sais, j'ai fait de la m*rde... Mais je tient préciser que tableau2 est dans le stack, mais c'est qu'un pointeur donc le tableau est dans le heap, et tableau2 se fera juste copier dans le tas de main() au même titre qu'un int ou char. Pas d'erreur, ce code marche très bien:
#include <stdio.h> #include <stdlib.h> int *tableau1; int* ma_fonction(int *donnees) { int *tableau2 = (int*)malloc(20*sizeof(int)); for (int i=0; i < 20; i++) { tableau2[i] = tableau1[i]*2; } return tableau2; } int main() { tableau1 = (int*)malloc(20*sizeof(int)); tableau1[3] = 128; tableau1[6] = 44; int *calculay = ma_fonction(tableau1); for (int i=0; i < 20; i++) { printf("%d ", calculay[i]); } free(calculay); free(tableau1); return 0; }Mais j'ai fait une pure merde; je devrais limite supprimer le post