Login
C++ Помогите с заданиями...
NEW 26.11.09 12:40
in Antwort toko-tak 25.11.09 23:39
printf("%s\n%*s", "Mo Di Mi Do Fr Sa So", first_day-1, " ");
for(int i = 1;i<=num_days;i++)
{
printf("%3d", i);
if ((i+first_day-1) % 7 == 0) printf("\n")
}
Но цель задания - не календарь, а тренировка техники программирования
NEW 26.11.09 12:45
in Antwort toko-tak 26.11.09 12:40
тренировка техники программирования
------
Можешь подумать и над другим решением. Тем более, что оно достаточно
простое и весьма техничное...
------
Можешь подумать и над другим решением. Тем более, что оно достаточно
простое и весьма техничное...

NEW 26.11.09 13:22
in Antwort Murr 26.11.09 12:45
const int cell_len = 3;
const int max_len = 37;
char * calender = null;
calender = malloc(max_len*cell_len*sizeof(char));
memset (calender, ' ', max_len*cell_len);
char days[] = " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31";
memcpy(calender+(first_day-1)*cell_len, days, num_days * cell_len);
calender[7*cell_len] = '\n';
calender[14*cell_len] = '\n';
calender[21*cell_len] = '\n';
calender[28*cell_len] = '\n';
calender[first_day*cell_len+ num_days * cell_len] = '\0';
printf("Mo Di Mi Do Fr Sa So\n%s", calender);
free (calender);
?
NEW 26.11.09 14:15
in Antwort toko-tak 26.11.09 13:22
Примерно. Только упростить до двух деклараций и пары операторов... 
И это... ошибки стоило бы исправить до публикации.
Подсказка - '\n' преобразовывается в зависимости от системы.

И это... ошибки стоило бы исправить до публикации.

Подсказка - '\n' преобразовывается в зависимости от системы.
NEW 26.11.09 14:42
in Antwort Murr 26.11.09 14:15