We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
/*
* 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**)malloc(total_number_of_shelves * sizeof(int*));
for (int i = 0; i < total_number_of_shelves; ++i)
{
total_number_of_pages[i] = NULL;
}
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);
int current_books = total_number_of_books[x];
total_number_of_pages[x] = (int*)realloc(total_number_of_pages[x], (current_books + 1) * sizeof(int));
total_number_of_pages[x][current_books] = y;
total_number_of_books[x]++;
} 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;
}
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Dynamic Array in C
You are viewing a single comment's thread. Return to all comments →
use this for dynamic memory allocation:
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);
}