#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void flipslash(char *slash);
void flipspacer(int *front_spacer, int *back_spacer);
void printline(char *slash, int diamond_size, int front_spacer, int back_spacer);
int main() {
char slash = '/';
int total, rows, columns, diamond_size, front_spacer, back_spacer;
//total reps
for (int reps = 0; reps < total; reps++) {
//fill values
scanf("%i%i%i", &rows
, &columns
, &diamond_size
);
for (int line = 0; line < rows; line++) {
//top half of diamond
for (int j = 0; j < diamond_size; j++) {
front_spacer = diamond_size - 1 - j;
back_spacer = j;
for (int i = 0; i < columns; i++) {
printline(&slash, diamond_size, front_spacer, back_spacer);
}
}
flipslash(&slash);
//lower half of diamond
for (int j = 0; j < diamond_size; j++) {
front_spacer = j;
back_spacer = diamond_size - 1 - j;
for (int i = 0; i < columns; i++) {
printline(&slash, diamond_size, front_spacer, back_spacer);
}
}
flipslash(&slash);
}
}
return 0;
}
void flipslash(char *slash) {
if (*slash == '/') *slash = '\\';
else *slash = '/';
}
void flipspacer(int *front_spacer, int *back_spacer) {
int temp = *front_spacer;
*front_spacer = *back_spacer;
*back_spacer = temp;
}
void printline(char *slash, int diamond_size, int front_spacer, int back_spacer) {
int temp, odd_or_even, times_run;
odd_or_even = diamond_size % 2;
if (odd_or_even) times_run = diamond_size + 1;
else times_run = diamond_size;
for (int i = 0; i < times_run; i++) {
//print front_spacer
for (int j = 0; j < front_spacer; j++) {
}
//print back_spacer
for (int j = 0; j < back_spacer; j++) {
}
flipslash(&*slash);
temp = front_spacer;
front_spacer = back_spacer;
back_spacer = temp;
}
}
I2RlZmluZSBfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUwojaW5jbHVkZSA8c3RkaW8uaD4KCnZvaWQgZmxpcHNsYXNoKGNoYXIgKnNsYXNoKTsKdm9pZCBmbGlwc3BhY2VyKGludCAqZnJvbnRfc3BhY2VyLCBpbnQgKmJhY2tfc3BhY2VyKTsKdm9pZCBwcmludGxpbmUoY2hhciAqc2xhc2gsIGludCBkaWFtb25kX3NpemUsIGludCBmcm9udF9zcGFjZXIsIGludCBiYWNrX3NwYWNlcik7CgppbnQgbWFpbigpIHsKICAgY2hhciBzbGFzaCA9ICcvJzsKICAgaW50IHRvdGFsLCByb3dzLCBjb2x1bW5zLCBkaWFtb25kX3NpemUsIGZyb250X3NwYWNlciwgYmFja19zcGFjZXI7CiAgIHNjYW5mKCIlaSIsICZ0b3RhbCk7CgoKICAgLy90b3RhbCByZXBzCiAgIGZvciAoaW50IHJlcHMgPSAwOyByZXBzIDwgdG90YWw7IHJlcHMrKykgewogICAgICAvL2ZpbGwgdmFsdWVzCiAgICAgIHNjYW5mKCIlaSVpJWkiLCAmcm93cywgJmNvbHVtbnMsICZkaWFtb25kX3NpemUpOwoKICAgICAgZm9yIChpbnQgbGluZSA9IDA7IGxpbmUgPCByb3dzOyBsaW5lKyspIHsKICAgICAgICAgLy90b3AgaGFsZiBvZiBkaWFtb25kCiAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgZGlhbW9uZF9zaXplOyBqKyspIHsKICAgICAgICAgICAgZnJvbnRfc3BhY2VyID0gZGlhbW9uZF9zaXplIC0gMSAtIGo7CiAgICAgICAgICAgIGJhY2tfc3BhY2VyID0gajsKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb2x1bW5zOyBpKyspIHsKICAgICAgICAgICAgICAgcHJpbnRsaW5lKCZzbGFzaCwgZGlhbW9uZF9zaXplLCBmcm9udF9zcGFjZXIsIGJhY2tfc3BhY2VyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBwcmludGYoIlxuIik7CiAgICAgICAgIH0KICAgICAgICAgZmxpcHNsYXNoKCZzbGFzaCk7CiAgICAgICAgIC8vbG93ZXIgaGFsZiBvZiBkaWFtb25kCiAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgZGlhbW9uZF9zaXplOyBqKyspIHsKICAgICAgICAgICAgZnJvbnRfc3BhY2VyID0gajsKICAgICAgICAgICAgYmFja19zcGFjZXIgPSBkaWFtb25kX3NpemUgLSAxIC0gajsKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb2x1bW5zOyBpKyspIHsKICAgICAgICAgICAgICAgcHJpbnRsaW5lKCZzbGFzaCwgZGlhbW9uZF9zaXplLCBmcm9udF9zcGFjZXIsIGJhY2tfc3BhY2VyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBwcmludGYoIlxuIik7CiAgICAgICAgIH0KICAgICAgICAgZmxpcHNsYXNoKCZzbGFzaCk7CiAgICAgIH0KICAgICAgcHJpbnRmKCJcbiIpOwogICB9CiAgIHJldHVybiAwOwp9Cgp2b2lkIGZsaXBzbGFzaChjaGFyICpzbGFzaCkgewogICBpZiAoKnNsYXNoID09ICcvJykgKnNsYXNoID0gJ1xcJzsKICAgZWxzZSAqc2xhc2ggPSAnLyc7Cn0KCnZvaWQgZmxpcHNwYWNlcihpbnQgKmZyb250X3NwYWNlciwgaW50ICpiYWNrX3NwYWNlcikgewogICBpbnQgdGVtcCA9ICpmcm9udF9zcGFjZXI7CiAgICpmcm9udF9zcGFjZXIgPSAqYmFja19zcGFjZXI7CiAgICpiYWNrX3NwYWNlciA9IHRlbXA7Cn0KCnZvaWQgcHJpbnRsaW5lKGNoYXIgKnNsYXNoLCBpbnQgZGlhbW9uZF9zaXplLCBpbnQgZnJvbnRfc3BhY2VyLCBpbnQgYmFja19zcGFjZXIpIHsKICAgaW50IHRlbXAsIG9kZF9vcl9ldmVuLCB0aW1lc19ydW47CiAgIG9kZF9vcl9ldmVuID0gZGlhbW9uZF9zaXplICUgMjsKICAgaWYgKG9kZF9vcl9ldmVuKSB0aW1lc19ydW4gPSBkaWFtb25kX3NpemUgKyAxOwogICBlbHNlIHRpbWVzX3J1biA9IGRpYW1vbmRfc2l6ZTsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCB0aW1lc19ydW47IGkrKykgewogICAgICAvL3ByaW50IGZyb250X3NwYWNlcgogICAgICBmb3IgKGludCBqID0gMDsgaiA8IGZyb250X3NwYWNlcjsgaisrKSB7CiAgICAgICAgIHByaW50ZigiLiIpOwogICAgICB9CiAgICAgIHByaW50ZigiJWMiLCAqc2xhc2gpOwogICAgICAvL3ByaW50IGJhY2tfc3BhY2VyCiAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgYmFja19zcGFjZXI7IGorKykgewogICAgICAgICBwcmludGYoIi4iKTsKICAgICAgfQogICAgICBmbGlwc2xhc2goJipzbGFzaCk7CiAgICAgIHRlbXAgPSBmcm9udF9zcGFjZXI7CiAgICAgIGZyb250X3NwYWNlciA9IGJhY2tfc3BhY2VyOwogICAgICBiYWNrX3NwYWNlciA9IHRlbXA7CiAgIH0KfQo=