#include <stdio.h>
#include <stdlib.h>
int main() {
int H;
printf("Entrez la hauteur du diamant (nombre impair positif, ex: 9) : "); if (scanf("%d", &H
) != 1) return 0;
if (H <= 0) {
printf("Hauteur doit etre positive.\n"); return 0;
}
/* Si H est pair, on l'ajuste au nombre impair supérieur */
if (H % 2 == 0) {
printf("Hauteur paire detectee, on utilise H+1 = %d\n", H
+1); H = H + 1;
}
int mid = H / 2;
/* On parcourt une grille H x H centrée sur (mid,mid) */
for (int i = 0; i < H; i++) {
for (int j = 0; j < H; j++) {
int dx = i - mid;
int dy = j - mid;
int manhattan
= abs(dx
) + abs(dy
);
/* Condition : être à l'intérieur du losange */
if (manhattan <= mid) {
/* bordure du losange */
if (manhattan == mid) {
}
/* ou sur l'une des 2 diagonales (principale ou secondaire) */
else if ( (i == j) || (i + j == H - 1) ) {
} else {
}
} else {
}
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBtYWluKCkgewogICAgaW50IEg7CiAgICBwcmludGYoIkVudHJleiBsYSBoYXV0ZXVyIGR1IGRpYW1hbnQgKG5vbWJyZSBpbXBhaXIgcG9zaXRpZiwgZXg6IDkpIDogIik7CiAgICBpZiAoc2NhbmYoIiVkIiwgJkgpICE9IDEpIHJldHVybiAwOwoKICAgIGlmIChIIDw9IDApIHsKICAgICAgICBwcmludGYoIkhhdXRldXIgZG9pdCBldHJlIHBvc2l0aXZlLlxuIik7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICAvKiBTaSBIIGVzdCBwYWlyLCBvbiBsJ2FqdXN0ZSBhdSBub21icmUgaW1wYWlyIHN1cMOpcmlldXIgKi8KICAgIGlmIChIICUgMiA9PSAwKSB7CiAgICAgICAgcHJpbnRmKCJIYXV0ZXVyIHBhaXJlIGRldGVjdGVlLCBvbiB1dGlsaXNlIEgrMSA9ICVkXG4iLCBIKzEpOwogICAgICAgIEggPSBIICsgMTsKICAgIH0KCiAgICBpbnQgbWlkID0gSCAvIDI7CiAgICAvKiBPbiBwYXJjb3VydCB1bmUgZ3JpbGxlIEggeCBIIGNlbnRyw6llIHN1ciAobWlkLG1pZCkgKi8KICAgIGZvciAoaW50IGkgPSAwOyBpIDwgSDsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBIOyBqKyspIHsKICAgICAgICAgICAgaW50IGR4ID0gaSAtIG1pZDsKICAgICAgICAgICAgaW50IGR5ID0gaiAtIG1pZDsKICAgICAgICAgICAgaW50IG1hbmhhdHRhbiA9IGFicyhkeCkgKyBhYnMoZHkpOwoKICAgICAgICAgICAgLyogQ29uZGl0aW9uIDogw6p0cmUgw6AgbCdpbnTDqXJpZXVyIGR1IGxvc2FuZ2UgKi8KICAgICAgICAgICAgaWYgKG1hbmhhdHRhbiA8PSBtaWQpIHsKICAgICAgICAgICAgICAgIC8qIGJvcmR1cmUgZHUgbG9zYW5nZSAqLwogICAgICAgICAgICAgICAgaWYgKG1hbmhhdHRhbiA9PSBtaWQpIHsKICAgICAgICAgICAgICAgICAgICBwdXRjaGFyKCcqJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvKiBvdSBzdXIgbCd1bmUgZGVzIDIgZGlhZ29uYWxlcyAocHJpbmNpcGFsZSBvdSBzZWNvbmRhaXJlKSAqLwogICAgICAgICAgICAgICAgZWxzZSBpZiAoIChpID09IGopIHx8IChpICsgaiA9PSBIIC0gMSkgKSB7CiAgICAgICAgICAgICAgICAgICAgcHV0Y2hhcignKicpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBwdXRjaGFyKCcgJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBwdXRjaGFyKCcgJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcHV0Y2hhcignXG4nKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=