Comment puis-je ajouter un + matric (structure de données de tableau) et après lui trouver le troisième plus petit nombre dans le langage C (pas C++)? Merci pour le code.Troisième plus petit nombre dans les matrices et son ajout
Répondre
code exemple suivant:
void addMatrix(unsigned int size, double const * const a, double const * const b, double * const res) {
int i;
for (i = 0; i < size * size; ++i)
res[i] = a[i] + b[i];
}
double findThirdSmallest(unsigned int size, double const * const input) {
//save the three smallest values inside res
double res[3];
int i;
for (i = 0; i < 3; ++i) {
res[i] = LDBL_MAX;
}
for (i = 0; i < size * size; ++i) {
int j;
for (j = 0; j < 3; ++j) {
if (input[i] < res[j]) {
int k;
for (k = 2; k != j; --k) {
res[k] = res[k - 1];
}
res[j] = input[i];
break;
}
}
}
return res[2];
}
EDIT: Modification du type et de la taille de la matrice sera votre travail.
- D'abord décider comment représenter la matrice (indice: utiliser un tableau de tableaux)
- ensuite comprendre comment ajouter deux matrices - est simple
- Alors, comment trouvez-vous le 3ème plus petit élément dans une séquence? Il y a plusieurs façons! L'efficacité est-elle particulièrement importante pour vous? Quelle complexité algorithmique est requise?
1) Par exemple int mat1 [50] [50], mat2 [50] [50]; 2) Je ne sais pas comment faire l'addition et après trouver le 3ème plus petit élément dans le résultat et l'imprimer - une sorte de cycle etc. – Heigan
Est-ce encore possible? – Heigan
@Heigan: bien sûr que c'est possible. N'avez-vous pas appris comment l'addition de la matrice fonctionne? Sinon, essayez de le trouver en ligne - devrait être très facile. –
Si vous essayez d'accéder aux instructions SIMD, je ne crois pas qu'il existe une approche qui fera les deux à la fois. Si vous n'essayez pas d'utiliser SIMD, gardez simplement un tableau temporaire des trois plus petites valeurs (comme une file d'attente prioritaire) qui est mise à jour chaque fois qu'une somme est calculée dans la matrice.
S'il s'agissait de C++, la file d'attente prioritaire pourrait être conservée dans un objet foncteur utilisé par les algorithmes STL.
A propos de votre conseil pour garder une variable temporaire: notez que c'est un peu plus complexe dans son cas puisqu'il cherche le 3ème plus petit objet, pas * le * plus petit article –
Alors quelqu'un sait comment cela peut-il être fait? Thx – Heigan
- 1. Java Algo à Trouver le plus petit et le deuxième plus petit nombre dans la liste
- 2. Comment trouver le plus grand et le plus petit nombre dans un tableau en c
- 3. Manipulation Nybbles et plus petit dans C#
- 4. Ajout de matrices en C#?
- 5. Rendre un div plus petit que son contenu
- 6. identifier le plus petit nombre entier et le nombre de fois où il a été entré
- 7. SQLite Sélectionnez un ID qui est plus petit qu'un nombre
- 8. Clojure 'si' n'évaluant jamais son troisième argument
- 9. Rendre .war plus petit
- 10. aide AWK trouver un plus petit nombre dans une deuxième colonne plus grand que x
- 11. Ajout d'une troisième table à une jointure
- 12. Ajout, suppression et ajout d'élément supprime à nouveau son événement
- 13. Matrices et matrices inverses en Python
- 14. Un grand xslt plus petit plus granulaire
- 15. Quel est le plus petit nombre d'octets pour représenter la date et l'heure?
- 16. Comment copier un plus petit bitmap dans un plus grand?
- 17. Comment vérifier plus grand ou plus petit qu'un nombre par regex?
- 18. comment rendre ICU plus petit?
- 19. requête SQL pour afficher les entrées multiples et son nombre
- 20. Cookies: Plus mais plus petit ou moins mais plus grand?
- 21. Coulée entre les matrices multidimensionnelles et monodimensionnelles
- 22. Comment lire un petit fichier son en continu dans Silverlight?
- 23. Existe-t-il un algorithme pour convertir n'importe quel nombre dans l'ensemble Aleph-Null en le plus petit nombre possible?
- 24. Trouver le plus petit numéro utilisé
- 25. CSS transformer les matrices
- 26. nonzeros dans csr_matrix dans les matrices scipy.sparse
- 27. Comment modifier un flottant par son plus petit incrément (ou proche)?
- 28. Ajout de son dans un site Web
- 29. Plus petit nœud de quadtree de limitation
- 30. Script iMacro et troisième onglet
Et si j'ai int mat1 [50] [50], mat2 [50] [50] est vraiment nessaire d'utiliser double et LDBL_MAX? THX – Heigan