samedi 28 février 2009

[Truc C++] Lecture d'un fichier vers un vecteur et l'inverse

Le programme C++ suivant lit un fichier d'entiers et l'emmagasine dans un vecteur. Ensuite le contenu du vecteur est sauvegardé dans un autre fichier.
#include <iostream>
#include <vector>
#include <iterator>
#include <fstream>
using namespace std;

int main()
{
ifstream is("in.txt");
ofstream os("out.txt");

vector<int> v (istream_iterator<int>(is), (istream_iterator<int>()));
copy(v.begin(), v.end(), ostream_iterator<int>(os, "\n"));
return 0;
}

Le constructeur du vecteur appelé est celui qui prend deux itérateurs comme paramètres afin d'initialiser le vecteur, un de début et un de fin. Le premier itérateur correspond à un itérateur sur le fichier alors que le deuxième est un itérateur représentant une erreur de lecture par exemple la fin du fichier.

La fonction "copy" prend trois paramètres :
- Un itérateur de début de lecture
- Un itérateur de fin de lecture
- Un itérateur d'écriture

Finalement, "is" et "os" peuvent être respectivement remplacés par "cin" et "cout" afin de lire ou écrire sur la console au lieu d'un fichier.

La mi-session

Enfin, la mi-session universitaire débute. Il est donc le temps de faire un bilan du début de la session.

Travaux
Après un début de session malheureusement beaucoup trop calme, les travaux ont déboulé en rafale. Le premier point que j'ai à discuter à propos de mes travaux est le fait de ne pas avoir avancé le travail de techniques d'apprentissage plus tôt. Le travail en équipe pendant la fin de semaine de la Saint-Valentin n'est pas très efficace. Aussi, je n'ai pas assez mis de temps sur mon projet, j'ai fait seulement la moitié des heures que j'aurais dû faire en suivant le nombre recommandé d'heures à travailler par semaine (9h).

Étude / examens
Du point de vue de l'étude et des examens, j'ai un peu trop négligé l'étude du cours de techniques d'apprentissage et je n'ai pas toutes faites mes lectures pour le cours de conception de systèmes temps réel. Toutefois, j'ai été à jour dans le cours d'intelligence artificielle et le cours d'infographie. Ce qui est ironique c'est que j'ai eu plus de difficultés dans ces examens intra qu'à celui du cours de techniques d'apprentissage.

Ce qui s'en vient
La seconde moitié de la session ne va pas être tranquille. En effet, j'ai quatre projets et quatre travaux pratiques sur lesquels travailler. En plus de cela, je dois rattraper le retard accumulé sur le projet et dans mes lectures du cours de systèmes temps réel tout en ne négligeant pas le travail à faire dans les autres cours.

vendredi 27 février 2009

Parce que tout ce qui existe a un commencement!

Voilà, je fais mon entrée dans la blogosphère. J'ai longuement réfléchi avant de rejoindre ce monde, car je ne suis pas très à l'aise à écrire des textes et je suis un peu réservé. Cependant, c'est une bonne façon de travailler sur ces points tout en me permettant faire valoir mon opinion sur certains sujets et de partager des connaissances que j'acquière.

Je vais traiter de différents sujets comme la vie à l'université et aux résidences ou tout simplement de la vie en général. Aussi, je vais aborder quelques sujets un peu plus geek comme la programmation et linux. La plupart d'entre vous savent déjà que je ne suis pas du type de personnes qui traitent d'un sujet simple en écrivant des textes interminables, donc vous allez voir des textes qui sont courts et qui vont droit au but, sans pelletage de nuages inutile.

J'accorde une grande importance de la qualité du français écrit, mais je suis loin de la maîtriser. Donc, n'hésitez pas à me signaler les erreurs de français (ainsi que les autres erreurs) lorsque vous en apercevez dans les textes que je rédige. Finalement, vous êtes cordialement invités à donnez votre opinion à propos de ce que j'écrit.

Bonne lecture!