Problème PTA 7-23 : Reconstruction d'un arbre binaire et calcul de sa hauteur
Problème : Étant donné les séquences de parcours préfixe (pré-ordre) et infixe (en-ordre) d'un arbre binaire, calculer la hauteur de l'arbre.
Format d'entrée : La première ligne contient un entier N (≤50) représentant le nombre total de nœuds. Les deux lignes suivantes contiennnent respectivement les séquences préfixe et infixe, chacune de long ...
Publié le 19 juin à 02h46
Optimisation des comparaisons vectorielles SVE avec l'intrinsèque svcmpgt_u32
Dans l'écosystème des extensions vectorielles évolutives (SVE) d'ARM, la fonction intrinsèque svcmpgt_u32 est dédiée à l'évaluation de la supériorité stricte entre des vecteurs d'entiers non signés de 32 bits. Elle effectue une comparaison élément par élément pour déterminer si les composantes du premier vecteur dépassent celles du second, géné ...
Publié le 19 juin à 01h31
Construire un interpréteur C à partir de zéro : Principes de compilation appliqués
Introduction à la construction d'un interpréteur C
Développer un interpréteur pour le langage C est un projet technique qui permet d'explorer les fondements de la compilation. Ce guide propose une approche progressive pour implémenter un interpréteur minimaliste, couvrant les étapes clés du processus.
Structure architecturale d'un interpréteur ...
Publié le 17 juin à 17h58
Manipulation avancée des pointeurs et gestion des chaînes en langage C
Recherche de valeurs extrêmes via des pointeurs
L'utilisation des pointeurs permet à une fonnction de modifier plusieurs variables dans la portée de l'appelant ou de renvoyer l'adresse d'un élément spécifique. Voici une implémentation permettant d'extraire les valeurs minimale et maximale d'un ensemble d'entiers.
#include <stdio.h>
#defi ...
Publié le 15 juin à 02h05
Laboratoire 1 - Programmation C : Entrée/Sortie et Applications Simples
Tâche 1
Code source
#include <stdio.h>
int main()
{
printf(" O \n");
printf("<H>\n");
printf("I I\n");
return 0;
}
#include <stdio.h>
int main()
{
printf(" O O \n");
printf("<H> <H>\n");
printf("I I I I\n") ...
Publié le 14 juin à 18h09
Gestion de la mémoire dynamique dans uCGUI
La zone du tas pour la mémoire dynamique
/* Définition de l'union pour la zone du tas */
typedef union { /* Permet d'accéder au tas par blocs de 4 octets ou octet par octet */
int tableauHeap[GUI_ALLOC_SIZE / 4]; /* Assure un alignement correct */
U8 octetsHeap[GUI_ALLOC_SIZE];
} GUI_HEAP;
/* Données représentant le tas */
GUI_ME ...
Publié le 14 juin à 00h09
Implémentations algorithmiques fondamentales en C
Cet article présente plusieurs implémentations courantes d'algorithmes et de structures de données en langage C, souvent rencontrées dans des examens de programmation.
Addition de grands entiers
#include <stdio.h>
#include <string.h>
#define MAX_TAILLE 20
void inverser_chaine(char *chaine) {
int debut = 0, fin = strlen(chaine) ...
Publié le 13 juin à 21h42
Conception d'une balance électronique intelligente basée sur STM32
Ce projet détaille la réalisation d'une balance électronique intelligente articulée autour d'un microcontrôleur STM32F103C8T6. Le système intègre des fonctionnalités de pesée précise, d'affichage dynamique via écran OLED, de communication Bluetooth pour le contrôle à distance et d'alertes sonores.
Architecture matérielle
Le système repose sur l ...
Publié le 13 juin à 07h34
Concepts et implémentation d'une liste chaînée simple en C
Les tableaux dynamiques (listes séquentielles) sont des structures de données fondamentales, mais ils présentent certaines limites :
L'insertion ou la suppression en tête ou au milieu nécessite un décalage des éléments, ce qui donne une complexité temporelle de O(N).
Le redimensionnement implique l'allocation d'un nouvel espace, la copie des d ...
Publié le 12 juin à 00h43
Maîtriser les spécificateurs de format en C pour l'embarqué
Les spécificateurs de format sont essentiels pour contrôler la manière dont les données sont affichées ou interprétées par les fonctions d'entrée/sortie, notamment printf et scanf en C. Ils permetttent de spécifier le type de données, l'alignement, la largeur et la précision de la sortie.
Formats de base
%d : Entier décimal signé.
%o : Entier ...
Publié le 10 juin à 18h08