Sources C / C++

Ajouter un nouvel élément

ang resolveur sudoku simple

Éditeur : CLEMENSON + 7 Ko
Resolveur de sudoku codé en c permettant de résoudre les grilles simples (sans hypothèses).
Téléchargement :
Compatibilité :
Linux Windows  

ang Nombres Premiers

Éditeur : Kakou35 + 692 octets
Vous entrez un nombre et le programme trouvera tous les nombres premiers compris entre 0 et votre nombre!
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Générateur de combinaisons

Licence : GPL 5 Ko
Programme console qui affiche les k-combinaisons sur n éléments distincts.
Ensemble des éléments : {0,1, ..., n}
contraintes : 0 ... > c_(k-1)
Ordre numérique : ordre lexicographique avec c_0 < c_1 < ... < c_(k-1)
----

Exemple de mise en oeuvre de la simulation d'un nombre dynamique de boucles for
Gestion simplifiée des paramètres en ligne de commande
L'ordre Knuth est nommé ainsi suite à une discussion et à l'évocation d'un exemple du fascicule 3a du TAO
----

OS : linux
Compilateur : gcc 4.5

Devrait pouvoir être compilé sur windows (mingw/cygwin) mac(gcc) ou toute autre plateforme pour laquelle les outils GNU sont supportés.
----

Compilation :
Dézipper l'archive
cd kcomb
make
----

Utilisation :
kcomb n k [ordre]
n -> nombre d'éléments distincts (requis)
k -> longueur de la k-combinaison (requis)
ordre -> K = ordre de Knuth/ N = ordre numérique (optionnel, par défaut ordre numérique)
----

Exemple :

~/Projects/kcomb$ Release/kcomb 5 3 K
2 1 0
3 1 0
3 2 0
3 2 1
4 1 0
4 2 0
4 2 1
4 3 0
4 3 1
4 3 2
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang jeu des allumettes

Licence : Libre 8 Ko
Au début, vous avez un nombre prédéfini d'allumettes. Chacun leur tour, 2 joueurs enlèvent une à trois allumettes. Celui qui doit enlever la dernière a perdu.

Ce jeu se joue soit en mode 2 joueurs, soit en mode 1 joueur (contre l'ordi). Dans ce cas, l'IA possède 3 niveaux. Le lvl 1 est très facile à battre, mais le lvl 3 possède une grande logique !

Donc... Bonne chance :P

Note : Les feedbacks sont appréciés (à envoyer à l'adresse inscrite dans les crédits, dans le jeu)

Attention : J'ai fait ce petit jeu sous Windows. Mais je l'utilise aussi sous linux. Le seul truc à modifier : changer les "cls" en "clear" !
Téléchargement :
Compatibilité :
Linux Windows  

ang Opérations sur les fichiers

Licence : Autre 7 Ko
Ce module permet de faire quelques opérations sur les fichiers à accès séquentiel, il propose les opérations suivantes :

  • Recherche du nombre de lignes

  • Lecture d'une ligne par son numéro

  • Suppression d'une ligne par son numéro

  • Suppression d'une ligne par son contenu

  • Recherche d'une ligne par une sous-chaîne

  • Copie de fichiers

  • Concaténation de fichiers

  • Nombre d'occurrences d'une lettre

  • Nombre d'occurrences d'un mot

  • Test si un fichier existe

Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Tri à bulle en assembleur GNU

Licence : Autre 7 Ko
Tri à bulle d'un tableau d'entiers en assembleur GNU.

Plus d'explications : http://asm.developpez.com/cours/gas/#LV-A
Téléchargement :
Compatibilité :
Linux  

ang Makefile générique

Licence : GPL 22 Ko
Makefile générique

Makefile idéal pour la construction rapide d'un exécutable sans se préoccuper
de la gestion parfois complexe du Makefile : la fénéantise n'est plus une
excuse,

**********************
* Utilisation simple *
**********************

1. décompresser l'archive
2. renommer le répertoire ProjetMakefile
3. placer les sources dans le répertoire src
4. lancer make

make va automatiquement gérer les dépendances entre les fichiers sources et
créer un exécutable dans le répertoire Debug. Cet exécutable portera le nom
du répertoire qui contient le Makefile.
Exemple:

~/Projets> unzip ProjetMakefile.zip
~/Projets> mv ProjetMakefile test
~/Projets> cd test
~/Projets/test> cat > src/main.c #include
>
> int main()
> {
> puts("Hello world");
>
> return 0;
> }
> EOF
~/Projets/test> make
GENDEP libutil/xlog.c
GENDEP src/main.c
CC src/main.c
CC libutil/xlog.c
AR libutil.a
CCLD Debug/test
debug version built
~/Projets/test> ls
Debug/ libutil/ license.txt Makefile src/
~/Projets/test> ./Debug/test
Hello world
~/Projets/test>

***********************
* Utilisation avancée *
***********************

Le fichier Makefile est commenté. Les options et variables qui dictent son
comportement sont décrites lors de leur déclaration.
Ce Makefile est idéal dans le cas d'un petit projet qui ne crée qu'un
exécutable, qui peut utiliser une bibliothèque de commodité et d'autres
bibliothèques gérées par pkg-config.

Deux types principaux de build sont supportés :
* Debug : aucune option d'optimisation activée
* Release : options d'optimisation classiques activées

Dans chaque cas, il est possible d'ajouter les options pour le profilage et
le support des pthreads.

Le build peut se faire en mode SILENT, c'est-à-dire que les commandes ne sont
pas affichées mais une indication (comme dans l'exemple ci-dessus) de ce qui
est fait. Cette option est facilement débrayable soit en modifiant le Makefile,
soit par la ligne de commande : make SILENT=0 (cf les commentaires dans le
Makefile).

Remarques

* par défaut le compilateur utilisé est gcc en mode C99 avec les extensions
GNU (builtins et attibutes gcc et fonctions GNU_SOURCE de la glibc). Pour
uriliser ce Makefile laversion GNU de make est indispensable.

* le template est fourni avec un exemple de bibliothèque de commodité
permettant un logging simple (4 niveaux debug/info/warning/error, sortie
uniquement vers stderr)

* Ce template n'a pas la prétention d'être universel ou de remplacer d'autres
outils comme autoconf et cie. Il a pour seul but de simplifier le prototypage
ou la construction de petits projets. Entre autre il n'y a aucune cible
install ni aucune vérification de la présence de fonctionnalités ou d'outils.

N'hésitez pas à laisser un commentaire, des propositions d'améliorations ou de
correction. N'hésitez pas non plus si vous avez la moindre question à propos
de cette contribution.

K.
Téléchargement :
Compatibilité :
Linux  

ang Exemple d'utilisation de la bibliothèque libpq

Licence : Autre 8 Ko
Ce code source a pour but de montrer comment utiliser la bibliothèque C libpq pour se connecter à une base de données PostgreSQL sur un système GNU/Linux.

Le seul fichier d'en-tête nécessaire pour compiler notre programme est le fichier libpq-fe.h. Bien sûr, pour avoir ce fichier il faut installer la bibliothèque libpq(et non pq++) . Deux méthodes pour installer la bibliothèque :
  1. Installer le RPM ou le DEB de la bibliothèque à l'aide du package manager propre à votre Distribution Linux.
  2. Installer PostgreSQL à partir de la source (http://www.postgresql.org/docs/8.4/static/installation.html) : Ainsi, la bibliothèque sera installée par défaut !!


On va utiliser la deuxième méthode. Le serveur sera installé dans le répertoire : /usr/local/pgsql.

Il faut, ensuite, installer la bibliothèque partagée libpq.so.5. Elle sera utilisée par l'éditeur de liens (ld) du compilateur gcc pour construire l'exécutable. Pour cela, vous devez installer le package postgresql-libs.

I. Changer la méthode d'authentification du serveur

Par défaut, la méthode d'authentification du serveur est 'trust'. Vous devez la changer en 'password'. Pour la changer, procédez comme suit :
  1. Ouvrir un terminal
  2. cd un_dir_propre_à_postgres
  3. su postgres
  4. /usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data >logfile 2>&1 & -- lancer le serveur en background
  5. /usr/local/pgsql/bin/psql -- psql is a terminal-based front-end to PostgreSQL
  6. ALTER USER postgres WITH PASSWORD 'admin'; -- assigner un password ('admin') au superuser (postgres)
  7. tapez \q
  8. /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ stop -- fermer le serveur

Maintenant, ouvrir en tant-que root le fichier /data/pg_hba.conf et remplacez les mots 'trust' par 'password' .

II. Créer la base des données :

Le programme va se connecter à la base de donnée store. Vous devez le créer ! Suivez les étapes suivantes pour le créer rapidement :
  1. su postgres
  2. /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ start >logfile 2>&1 &
  3. /usr/local/pgsql/bin/psql
  4. CREATE USER client1 PASSWORD 'client1'; -- créer un user (role + login) avec le password 'client1'
  5. \q
  6. /usr/local/pgsql/bin/createdb -T template0 store -- créer une db 'store' à partir du template 'template0'
  7. /usr/local/pgsql/bin/psql store < dbstore.txt -- restorer la db 'store' à partir du SQL dump 'dbstore.txt'.
  8. /usr/local/pgsql/bin/psql -U client1 store


Vous pouvez maintenant compiler et exécuter le programme. La base de données store est donnée juste pour tester le programme.
Téléchargement :
Compatibilité :
Linux  

ang Liste de Personnes

Licence : Autre 22 Ko
Un programme C++ permettant de gérer une liste de personnes en utilisant un tableau dynamique créé avec le conteneur C++ vector. Chaque personne est identifiée dans la liste par : son nom, son prénom et sa date de naissance. Le programme affichera, lorsqu'il sera exécuté, un menu pour sélectionner une opération :
  • Sauvegarder la liste dans un fichier et quitter le programme.
  • Ajouter une personne.
  • Trier la liste (tri à bulle).
  • Afficher la liste.
  • Supprimer un élément de la liste.
  • Chercher un élément dans la liste.
  • Modifier les informations concernant une personne.




Téléchargement :
Compatibilité :
Linux Windows  

ang Plus ou moins

Licence : Autre 290 Ko
Voici un jeu codé en C et est console. il s'agit du jeu du plus ou moins ou vous devez deviner le nombre mystère généré par le programme !!
Téléchargement :
Compatibilité :
Windows  

ang [Math] Résolution d'équations différentielles (Runge-Kutta)

Licence : Autre
Ce code permet de résoudre une équation différentielle du premier ordre du type : dy/dx = f(x,y) avec des conditions initiales sur y et x.
Téléchargement :
Compatibilité :
 

ang Exemple de communication socket pour la réalisation d'un petit chat

Licence : Autre 9 Ko
Ceci est un exemple simple de l'utilisation des composants TClientSocket et TServerSocket de C++ Builder pour réaliser une application de chat.

Les clients dialoguent uniquement avec le serveur, mais le serveur peut dialoguer avec qui il veut. Évidemment en implémentant son propre protocole d'échange de trames on peut très facilement faire dialoguer les clients entre eux mêmes, tout en passant par le serveur.

Comme je l'ai mentionné, ceci est un exemple d'utilisation des composants mentionnés ci-dessus, le but étant de réaliser un chat simple. Il est loin d'être un chat complet.


NB : Pour déclarer son identité auprès du serveur, un client doit envoyer la trame suivante au serveur (après s'être connecté) :

< Nom>MonAlias

Exemple : Si le client envoie < Nom>Neo41 alors le serveur rajoute dans sa liste de clients connectés l'alias "Neo41" et aura la possibilité de dialoguer avec ce client.
Téléchargement :
Compatibilité :
Windows  

ang Utilitaire d'installation du BDE 5.2

Éditeur : David R. Robinson + 6,69 Mo
BDE (Borland Database Engine) est le moteur de base de données utilisé par Builder pour accéder aux différents types de bases de données. Si votre application accède à une BDs, et que vous souhaitez l'installer sur un poste vierge (ie. Builder n'est pas installé), alors vous devez installer le BDE.

Le fichier BDEInfoSetup permet une installation très facile du BDE 5.2

Il installe le BDE 5.2 ainsi qu'un utilitaire nommé BDE Information Utility. Ce dernier permet d'afficher le informations suivantes:

  • Version du BDE

  • Le contenu du fichier de configuration du BDE


Il peut être également utilisé pour vérifier que le BDE est correctement installé et configuré sur votre machine.
Téléchargement :
Compatibilité :
Windows  

ang [Qt 5] Les nouvelles possibilités de connexions signaux-slots dans Qt 5

Licence : Libre 1 Ko
Ce mini-projet Qt 5 présente les nouvelles possibilités de connexions entre signaux et slots proposées dans Qt 5 :
- les connexions avec un pointeur de fonction ;
- les connexions avec les fonctions lambdas.

Pour en savoir plus, rendez-vous sur mon blog : Les signaux et slots dans Qt5
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang BattleShip en C (essai)

Éditeur : CSSM Saint-Martin + 120 Ko
Voici une version écrite en C permettant de faire une partie contre l'ordinateur.

C'est un essai, il y a peu ou pas du tout de commentaires (désolé je suis trop pourri), cependant (logiquement) vous devriez pouvoir mener une partie de bout en bout (soit vers la défaite, soit vers la victoire ^^).

Je voudrais bien trouver un moyen sous Linux de pouvoir apporter des modifications, notamment concernant l'affichage (prévu pour du 1920x1080 ou en 1280x800) je voudrais pouvoir développer une fonction qui permette d'afficher l'interface utilisateur de manière propre peu importe la résolution (attention ce programme est en mode terminal).

Pour compiler le code source:

gcc -pthread sda2013.c -o sda2013

Les répertoires maps doivent se trouver dans le même répertoire que l'exécutable.
Jusqu'à présent vous pouvez jouer sur des maps 12x12, 13x13, 14x14 (mais il est prévu de jouer sur d'autres maps, maximum 26x26 en fonction de la résolution de l'écran, mais c'est pas automatique)

Je pense à faire un serveur java pour pouvoir faire des parties réseau (toute aide pour le module réseau client serait la bienvenue, d'autant que la programmation réseau TCP en C n'est pas une sinécure).










Téléchargement :
Compatibilité :
Linux  

ang Gestion des dates

Licence : Autre 1349 octet
Le fichier date.c propose la fonction DATE_eGetTodayDate qui permet de récupérer la date du jour selon le format désiré.
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Résolution de labyrinthe avec l'algorithme A* (A Star)

Éditeur : Helmstetter Bernard + 3 Ko
Méthode de résolution de labyrinthe avec l'algorithme A* implémenté à l'aide d'une queue de priorité. Ce programme montre également comment passer d'un tableau bidimensionnel à un tableau unidimensionnel pour représenter le labyrinthe.

Pour plus d'informations sur l'algorithme A* : Recherche de chemin: A* (http://fr.wikipedia.org/wiki/Algorithme_A%2A)
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Lister les répertoires et sous-répertoires

Licence : Autre
Ce programme permet de lister les répertoires et les sous-répertoires ainsi que les fichiers qui y sont stockés.
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Trouvez le bon mot

Licence : Autre 737 Ko
Jeu où il faut trouver le bon mot. C'est un style de pendu mais en mode console uniquement. Le programme est fournit avec une dictionnaire de 331612 mots !
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Gestion des chaînes de caractères

Licence : Autre 1 Ko
Le fichier str.c propose des fonctions pour supprimer les espaces en début et fin de chaîne, pour mettre une chaîne de caractères en minuscule ou en majuscule.
Téléchargement :
Compatibilité :
Linux Mac Windows  

267 éléments

Connexion

Identifiant
Mot de passe
S'inscrireMot de passe oublié ?
 
 
 
 
Partenaires

Hébergement Web