Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > ПосмотриТЕ


Автор: Aidar 28.3.2007, 13:41
[B]Не могу понять, где ошибка????

Задание:
В матрице приведены 10 произвольных дат и номера поставок, соответствующих разным временам года. В программе вывести:
• название сезона, к которому  относится указанная дата (зима, весна, лето, осень);
• номер квартала для указанной даты (1 квартал – с января по март, 2 квартал – с апреля по июнь, 3 квартал – с июля по сентябрь, 4 квартал – с октября по декабрь);
• сообщение “Сезон отпусков”   если дата приходится на июнь – сентябрь.
 
[/B]

#include <stdio.h>
#include <windows.h>
#define ROW 2       /* колво строк */
#define COL 12      /* колво столцов*/
#define SIZE 10     /* колво дней, не > 24(ROW*COL)*/

void initial(int mas[ ][COL]);
/* Инициализирует массив SIZE случайными числами */

void display(int mas[ ][COL]);
/* Выводит сезоны, кварталы соотв. датам */

void zero(int zero[ ][COL]);
/* Обнуляет массив */

char *Rus(char *s);
/* Печать в консоли рус буквами */

void displaymas(int mas[ ][COL]);
/* Вывод двухмерного масс */

void main( )
{
    int mas[ROW][COL];
    initial(mas);
    display(mas);
    getch();
}

void initial(int mas[ ][COL])
{
    int i;
    zero(mas);
    randomize( );
    for (i=0; i < SIZE; i++)
        mas[random(ROW)][random(COL)] = random(31);
    displaymas(mas);
}

void display(int mas[ ][COL])
{
    int i,j;
    for (i=0; i < ROW; i++)
        for (j=0; j < COL; j++)
            if (mas[i][j])    /* mas != 0 */
            {
                printf("\n%2d ",mas[i][j]);
                /* вывод месяца */
                if (j == 0)
                    printf(Rus("янв - "));
                if (j == 1)
                    printf(Rus("фев - "));
                if (j == 2)
                    printf(Rus("мар - "));
                if (j == 3)
                    printf(Rus("апр - "));
                if (j == 4)
                    printf(Rus("май - "));
                if (j == 5)
                    printf(Rus("июн - "));
                if (j == 6)
                    printf(Rus("июл - "));
                if (j == 7)
                    printf(Rus("авг - "));
                if (j == 8)
                    printf(Rus("сен - "));
                if (j == 9)
                    printf(Rus("окт - "));
                if (j == 10)
                    printf(Rus("ноя - "));
                if (j == 11)
                    printf(Rus("дек - "));
                /* вывод сообщения */
                if (j >= 5 && j <= 8)
                    printf(Rus("сезон отпусков: "));
                /* вывод сезона */
                if (j >= 2 && j <= 4)
                    printf(Rus("весна, "));
                if (j >= 5 && j <= 7)
                    printf(Rus("лето, "));
                if (j >= 8 && j <= 10)
                    printf(Rus("осень, "));
                if (j == 11 || j == 0 || j == 1)
                    printf(Rus("зима, "));
                /* вывод квартала */
                if (j >= 0 && j <= 2)
                    printf(Rus("1 квартал"));
                if (j >= 3 && j <= 5)
                    printf(Rus("2 квартал"));
                if (j >= 6 && j <= 8)
                    printf(Rus("3 квартал"));
                if (j >= 9 && j <= 11)
                    printf(Rus("4 квартал"));

            }
}

void zero(int zero[ ][COL])
{
    int i, j;
    for (i=0; i < ROW; i++)
        for (j=0; j < COL; j++)
            zero[i][j]=0;
}

void displaymas(int mas[ ][COL])
{
    int i,j;
    for (i=0; i < ROW; i++)
    {
        for (j=0; j < COL; j++)
            printf("%2d ",mas[i][j]);
        printf("\n");
    }
}

char *Rus(char *s)
{
    static char buff[1000];
    CharToOem(s, buff);
    return buff;
}



Автор: apook 28.3.2007, 14:56
Для начала conio.h подключи smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)