Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <locale.h> //Здесь объявлена функция setlocale()
- #include <stdlib.h> //Здесь объявлена функция system(), fflush()
- //объявление переменных
- int x, y, z;
- //главная программа
- int main()
- {
- setlocale(LC_ALL, "Russian"); //переключение кодировки вывода на консоль
- int n, m, k;
- printf("Введите количество строк: ");
- scanf("%d", &n);
- printf("Введите количество столбцов: ");
- scanf("%d", &m);
- int **array = (int**)calloc(n * m, sizeof(int*)); // Выделяем память на n * m целочисленных элементов
- for (int i = 0; i < n; i++) { // Заполняем массив
- array[i] = (int*)calloc(m, sizeof(int)); // Не знаю, почему, но это должно был тут
- for (int j = 0; j < m; j++) {
- array[i][j] = rand() % 100;
- }
- }
- for (int i = 0; i < n; i++) { // Выводим первый массив
- for (int j = 0; j < m; j++) {
- printf("%5d", array[i][j]);
- }
- printf("\n");
- }
- printf("Введите количество новых строк: ");
- scanf("%d", &k);
- for (int i = 0; i < k; i++) { // Выделяем дополнительную память на k * m элементов
- array[i + n] = (int*)calloc(m, sizeof(int));
- }
- for (int i = 0; i < n; i++) { // Копируем первые n * m элементов в последние n * m ячеек
- for (int j = 0; j < m; j++) {
- array[i + k][j] = array[i][j];
- }
- }
- for (int i = 0; i < k; i++) { // Заполняем первые k * m ячеек рандомными элементами
- for (int j = 0; j < m; j++) {
- array[i][j] = rand() % 100;
- }
- }
- for (int i = 0; i < n + k; i++) { // Выводим новый массив
- for (int j = 0; j < m; j++) {
- printf("%5d", array[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement