Sort by

recency

|

406 Discussions

|

  • + 0 comments

    In the assigment they missed to tell that you have to allocate the page matrice and the book array :)

  • + 0 comments

    I had trouble understanding what to do because the name of the matrix 'total_number_of_pages' (which is the matrix to represent the shelves itself) it not intuitive. Pages are things inside of books.

    The problem has poor explanation of why we are using the array 'total_number_of_books', it can be a bit confusing since we can try to use it inside of the matrix, again, because of the name.

    Matrix name should be simply 'shelves', and the array name should be something that actually points to its purpouse of being a map to how many books are in each shelf.

  • + 0 comments

    include

    include

    /* * This stores the total number of books in each shelf. / int total_number_of_books;

    /* * This stores the total number of pages in each book of each shelf. * The rows represent the shelves and the columns represent the books. / int* total_number_of_pages;

    int main() { int total_number_of_shelves; scanf("%d", &total_number_of_shelves);

    int total_number_of_queries;
    scanf("%d", &total_number_of_queries);
    
    int* total_number_of_books = (int*)calloc(total_number_of_shelves, sizeof(int));
    int** total_number_of_pages = (int**)calloc(total_number_of_shelves, sizeof(int*));
    while (total_number_of_queries--) {
        int type_of_query;
        scanf("%d", &type_of_query);
    
        if (type_of_query == 1) {
            /*
             * Process the query of first type here.
             */
            int x, y;
            scanf("%d %d", &x, &y);
            if (*(total_number_of_pages + x) == NULL) {
                *(total_number_of_pages + x) = (int*)calloc(1100, sizeof(int));
            }
            *(*(total_number_of_pages + x) + *(total_number_of_books + x)) = y;
            *(total_number_of_books + x) += 1;
    
        } else if (type_of_query == 2) {
            int x, y;
            scanf("%d %d", &x, &y);
            printf("%d\n", *(*(total_number_of_pages + x) + y));
        } else {
            int x;
            scanf("%d", &x);
            printf("%d\n", *(total_number_of_books + x));
        }
    }
    
    if (total_number_of_books) {
        free(total_number_of_books);
    }
    
    for (int i = 0; i < total_number_of_shelves; i++) {
        if (*(total_number_of_pages + i)) {
            free(*(total_number_of_pages + i));
        }
    }
    
    if (total_number_of_pages) {
        free(total_number_of_pages);
    }
    
    return 0;
    

    }

  • + 0 comments

    JUST ONE LINE ANSWER AFTER ALLOCATING THE MEMORY FOR BOTH ARRAYS;int main() { total_number_of_books=(int*)calloc(total_number_of_shelves,sizeof(int)); total_number_of_pages=(int**)calloc(total_number_of_shelves,sizeof(int*)); for(int i=0;i total_number_of_pages[i]=(int*)calloc(1100,sizeof(int)); } while (total_number_of_queries--) {
    int type_of_query; scanf("%d", &type_of_query);
    if (type_of_query == 1) {
    int x, y; scanf("%d %d", &x, &y);

    * ((totalnumberofpages+x)+((totalnumberofbooks+x))++)=y; *

  • + 0 comments

    int main() { int total_number_of_shelves; scanf("%d", &total_number_of_shelves);

    int total_number_of_queries;
    scanf("%d", &total_number_of_queries);
    total_number_of_books=(int *)calloc(total_number_of_shelves,sizeof(int));
    total_number_of_pages=(int **)calloc(total_number_of_shelves,sizeof(int *));
    for (int i = 0; i < total_number_of_shelves; i++) {
        total_number_of_pages[i] = calloc(1100, sizeof(int));
    }
    
    while (total_number_of_queries--) {
        int type_of_query;
        scanf("%d", &type_of_query);
    
        if (type_of_query == 1) {
            /*
             * Process the query of first type here.
             */
            int shelf, pages;
            scanf("%d %d", &shelf, &pages);
            total_number_of_books[shelf]++;
            int *book = total_number_of_pages[shelf];
            while (*book != 0)
                book++;
            *book = pages;