123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #include <malloc.h>
- typedef void (*task)();
- int* createArr(int n)
- {
- if (n <= 0) return NULL;
- int* array = calloc(n, sizeof(int));
- for (int i = 0; i < n; i++)
- {
- *(array + i) = i;
- }
- return array;
- }
- int** createTriangleArr(int n)
- {
- if (n <= 0) return NULL;
- int** array = calloc(n, sizeof(int*));
- for (int i = 0; i < n; i++)
- {
- array[i] = calloc(i, sizeof(int));
- }
- int num = 0;
- for (size_t i = 0; i < n; i++)
- {
- for (size_t j = 0; j < i; j++)
- {
- **array = num++;
- ++*array;
- }
- *array -= i;
- array++;
- }
- array -= n;
- return array;
- }
- void outputTriangle(int n, int** arr)
- {
- for (size_t i = 0; i < n; i++)
- {
- for (size_t j = 0; j < i; j++)
- {
- printf("%d ", **arr);
- ++*arr;
- }
- *arr -= i;
- ++arr;
- printf("\n");
- }
- arr -= n;
- }
- void output(int n, int* arr)
- {
- for (size_t i = 0; i < n; i++)
- {
- printf("%d ", *arr + i);
- }
- }
- void deleteArr(int n, int* arr)
- {
- free(arr);
- }
- int squar(int a)
- {
- return a * a;
- }
- void task1()
- {
- printf("\nÇàäàíèå 1\n");
- int a;
- printf("Ââåäèòå çíà÷åíèå à (int): ");
- scanf_s("%d", &a);
- int* b = &a;
- printf("Çíà÷åíèå a óìåíüøåíî íà 1 = %d", *b);
- scanf_s("%d", &a);
- printf("Íîâîå çíà÷åíèå a = %d", *b);
- }
- void task2()
- {
- printf("\nÇàäàíèå 2\n");
- int n = 1000000;
- int* arr = createArr(n);
- printf("\nÌàññèâ óäàë¸í\n");
- deleteArr(n, arr);
- }
- void task3()
- {
- printf("\nÇàäàíèå 3\n");
- printf("Ââåäèòå ðàçìåð ìàññèâà: ");
- int n;
- scanf_s("%d", &n);
- int* arr = createArr(n);
- output(n, arr);
- }
- void task4()
- {
- printf("\nÇàäàíèå 4\n");
- printf("Ââåäèòå ðàçìåð ìàññèâà: ");
- int n;
- scanf_s("%d", &n);
- int** arr = createTriangleArr(n);
- outputTriangle(n, arr);
- }
- void task5()
- {
- int k;
- printf_s("ââåäèòå ÷èñëî: ");
- scanf_s("%d", &k);
- int(*f)(int);
- f = squar;
- printf("%d", f(k));
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- printf("Ââåäèòå ÷èñëî, ñîîòâåòñòâóþùåå çàäàíèþ: \n1 - Ðåäàêòèðîâàíèå è âûâîä çíà÷åíèÿ öåëî÷èñëåííîé ïðè îáðàùåíèè ê íåé èç êîíñîëüíîãî îêíà \n2 - Äèíàìè÷åñêîå ñîçäàíèå è óäàëåíèå ìàññèâà èç îäíîãî ìèëëèîíà ýëåìåíòîâ òèïà int\n3 - Ôóíêöèÿ äëÿ âûâîäà íà ýêðàí êîíñîëè ìàññèâà ïðîèçâîëüíîé äëèíû (ñàì ìàññèâ ïåðåäàåòñÿ â êà÷åñòâå àðãóìåíòà ôóíêöèè) \n4 - Òðåóãîëüíàÿ ìàòðèöà \n5 - óêàçàòåëü íà ôóíêöèþ\n");
- int num;
- scanf_s("%d", &num);
- if (num == 1)
- {
- task1();
- main();
- }
- else if (num == 2)
- {
- task2();
- main();
- }
- else if (num == 3)
- {
- task3();
- main();
- }
- else if (num == 4)
- {
- task4();
- main();
- }
- else if (num == 5)
- {
- task5();
- main();
- }
- else
- {
- printf("Íåò òàêîãî çàäàíèÿ. Âûáåðèòå äðóãîå\n");
- main();
- }
- }
|