Bonjour à tous.
J'ai un code à réaliser, un programme de BSQ. Pour ceux qui ne savent pas ce que c'est, vous avez un plateau comme ceci :
9
...........................
....o......................
............o..............
...........................
....o......................
...............o...........
...........................
......o..............o.....
..o.......o................
9 est le nombre de lignes du plateau.
Et le but est de retrouver le plus grand carré composé uniquement de "." dans le plateau (uniquement les carrés).
.....xxxxxxx...............
....oxxxxxxx...............
.....xxxxxxxo..............
.....xxxxxxx...............
....oxxxxxxx...............
.....xxxxxxx...o...........
.....xxxxxxx...............
......o..............o.....
..o.......o................
Pour l'instant, j'essaye déjà de stocker chaque caractère du plateau dans un tableau à double entrée :
int main(char argc, char **argv)
{
int fd;
int fd2;
char **tab;
char buffer[1];
int i;
int a;
int b;
int c;
int nb_line;
int save_nb_line;
int nb_column;
int save_nb_column;
fd = open(argv[1], O_RDONLY);
nb_line = my_getnbr(get_next_line(fd));
save_nb_line = nb_line;
nb_column = my_strlen(get_next_line(fd));
tab = malloc((sizeof(*tab) * nb_line) +1);
i = 0;
while (nb_line != 0)
{
tab[i] = malloc((sizeof(**tab) * (nb_column)) + 1);
i = i + 1;
nb_line = nb_line - 1;
}
close(fd);
fd2 = open(argv[1], O_RDONLY);
read(fd, buffer, 1);
a = 0;
while (buffer[a] != '\n')
read(fd, buffer, 1);
b = 0;
c = 0;
while (save_nb_line != 0)
{
save_nb_column = nb_column;
while (save_nb_column != 0)
{
read(fd, buffer, 1);
tab[c][b] = buffer[a];
b = b + 1;
save_nb_column = save_nb_column - 1;
}
read(fd, buffer, 1);
c = c + 1;
save_nb_line = save_nb_line - 1;
}
my_putchar(tab[1][0]);
}
J'ai alors deux petits problèmes qui se posent à moi.
D'abord, mon programme bugge, genre seule la première ligne de mon tablea se remplit, les autres sont vides mêmes après mon incrémentation...
L'autre est que je n'ai strictement aucune idée de comment faire ppour trouver le carré le plus grand sur le plateau. Je ne vois pas du tout quel algorithme utiliser, quel calcul, quelqu'un pourrait-il m'éclairer ?
Merci d'avance ![]()
Le premier point est réglé, un simple oubli d'un b=0
Mais pour la suite ![]()
host le code sur pastebin, pour voir? sans l'indentation, c'est illisible, là. ![]()
Voilà
http://pastebin.com/yUiCNrnP
bien ton -42 ?
parce que la c'est de la triche ![]()
Je ne demande pas de code, mais juste une indication
Parce que je peux le faire en bruteforce, mais niveau optimisation, c'est pas ça du tout ![]()
c'est pareil
t'es censé trouver toi même ton algo
si t'es pas capable de faire ce projet tout seul, arrete tout de suite epitech hein
tu veux pas qu'on te fasses ton code aussi ?
Ok
Des idées ?
Je dois avouer qu'en fait ton code est assez imbitable en fait. Connais tu les fonctions ainsi que les commentaires ? Je te conseille de refactorer tout ca avant toute chose. Quelques structures custom aussi pourraient aider a la comprehension et a pose le probleme correctement.
Howw my fucking god Oo
Les tek1 sont désespéré au point de poster sur les forums de JV.com.
Mais où est la norme ? Où sont les free ? Ton get_next_line renvoi un Int ? Pourquoi t'a deux file descriptor ? Pourquoi tu déclares un tableau de 1 Char ? Pourquoi mes yeux saignent ? Pourquoi tu code pas à la norme ?
Ha Mon Dieu XD. Que dire d'autre sinon que tu mérites la mort.
By the way, tout ça me rappelle de bons vieux souvenir. Comme quoi :
Un sandwiche à Avener : 4€50
Une année à Epitech : 8500€
Le code d'un Tek1 : ça n'a pas de prix.
Ho putain je vous laisse je vais mourir de rire plus loin ![]()
ah okay l'ambiance odieuse de cette école.
il fait bien de demander, en effet, qui s'embêterait à réinventer la roue dans le monde de l'informatique? ![]()
Waah l'ambiance de merdeux qui regne dans c't'ecole.
C'est plutôt bien qu'il poste ici, ce que vous appelez "triche" (+ ololz réponse à la grande question
), nous appelons ça "review de code" et il s'en tirera probablement avec quelques notions que ses profs ont omis de lui prodiguer, comme l'intérêt des commentaires. Ou valait-il peut-être mieux qu'il galère tout seul? ![]()
les profs ?
a epitech il n'y en a pas
tu te débrouilles tout seul
en tout cas la norme, il connait pas
si on inclus ton -42 et les fautes de normes, tu as a peut pret ... -95 ou -100 comme note
"a epitech il n'y en a pas
tu te débrouilles tout seul "
ah okay, et il va réinventer les notions et les bonnes pratiques? se débrouiller tout seul n'implique pas les recherches sur le net, ainsi que les questions posées aux gens qui ont les connaissances à défaut d'avoir les mêmes chez vous? vous n'avez donc pas non plus quelqu'un pour vous apprendre à dire des choses intelligentes? ![]()
Tu pourra pas savoir ce que c'est tant que tu l'aura pas vécu mon petit :P
Et j'aouterai qu'à travers tout ce que j'ai dit il y déjà pas mal de piste à creuser pour assainir son code.
Ce forum et sa méchanceté gratuite et hautaine me fera toujours rire
Pourquoi quand on va dans un forum de maths, un forum de physique, ou que sais-je, les gens ne sont pas comme ici ?
Qu'on rembarre parce qu'une question a déjà trop été posée, je veux bien. Qu'on rembarre parce que l'auteur demande qu'on lui fasse tout son travail, je veux bien. Mais qu'on se mette à quasiment l'insulter implicitement parce qu'il n'est pas aussi fort que ce que l'on voudrait, je trouve ça minable
C'est un manque de classe total et une marque indubitable de bêtise. Je réagis aujourd'hui, parce que des réactions comme celles d'ici, j'en ai vu des dizaines sur ce forum.
Et avant que celui qui ne sait pas lire me demande pourquoi je viens encore ici, je fais lui fais remarquer que je ne montre pas tout le monde du doigt - heureusement il y a quelques personnes intelligentes ET généreuses - mais uniquement certains.
"Ce forum et sa méchanceté gratuite et hautaine me fera toujours rire
"
"ce forum", c'est un vaste mot, pourquoi ne pas lire attentivement le topic pour comprendre la situation? ![]()
Maintenant les gens savent quelle école ils doivent éviter ![]()
C'est pas une question d'école, le fait est qu'il est rissible de poster sur JVC pour des question de code alors qu'il y a des site comme http://stackoverflow.com/ qui sont mis en place pour ça.
Accessoirement, si vous n'avez pas fait Epitech vous ne pouvez pas comprendre que ce projet BSQ est a la portée de n'importe quel étudiant de première année qui a travaillé correctement pendant les premier mois d'epitech.
Etant donné que la promo de première année est constituée de plus de 400 Etudiants il parait plus simple de demander a un autre Etudiant qu'aller se réfugier sur un forum pour cela.
Le principe de cette école réside dans l'apprentissage par sois-même (être autodidacte pour les amateurs de mots savant), aller chercher la solution par sois même =/= demander la solution.
Bref, Oui y'a des aigris dans cette école comme partout, néanmoins je te conseille de demander à tes camarades de promo ou aux asteks, plutot que d'aller sur un forum.
Ps: J'sais que t'es en tek1 mais quand même, code a la norme, fait des fonctions précises avec nom explicite pour que les gens qui passent derrière toi aient pas envie de te fister avec un cactus pasque ton code est vraiment pas propre.
Accessoirement ça aidera a ce qu'on te réponde sur un forum.
Ps2: pour les blaireaux qui se basent sur 2 réponses d'étudiant pour descendre epitech alors que bon y'a 1600 Etudiants sur le campus, seriously arrêtez TF1 et apprenez a discerner des trolls sur un forum.