Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <cstdlib>
- #include <ctime>
- #include <windows.h>
- int InputInteger(){
- char arr[5];
- int value;
- while(true){
- scanf("%s", arr);
- value = (atoi(arr))? atoi(arr) : 0;
- if (value > 0)
- break;
- else
- printf("Введите n > 0: ");
- }
- return value;
- }
- void swap(int *xp, int *yp){
- int temp = *xp;
- *xp = *yp;
- *yp = temp;
- }
- int main()
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- printf("Введите размер массива по X: ");
- int xSize = InputInteger();
- printf("Введите размер массива по Y: ");
- int ySize = InputInteger();
- int** arr = new int*[ySize];
- for(int i = 0; i < ySize; i++)
- arr[i] = new int[xSize];
- for(int i = 0; i < ySize; i++)
- for(int j = 0; j < xSize; j++)
- arr[i][j] = 0;
- bool isFour = false;
- do {
- system("cls");
- printf("1.Ввод элементов массива.\n2.Обработка двумерного массива.\n3.Вывод двумерного массива на экран.\n4.Выход.\nВвод: ");
- switch(InputInteger()){
- case 1:
- system("cls");
- printf("1.Ручное заполнение.\n2.Рандомное заполнение.\nВвод: ");
- switch(InputInteger()){
- case 1:
- system("cls");
- for(int i = 0; i < ySize; i++){
- for(int j = 0; j < xSize; j++){
- printf("[%d]: ", i);
- arr[i][j] = InputInteger();
- }
- }
- printf("Для продолжения нажмите Enter.");
- getchar();
- getchar();
- break;
- case 2:
- system("cls");
- srand(time(0));
- for(int i = 0; i < ySize; i++){
- for(int j = 0; j < xSize; j++){
- arr[i][j] = rand() % 100 + 1;
- printf("[%d][%d]: %d\n", i, j, arr[i][j]);
- }
- }
- printf("Для продолжения нажмите Enter.");
- getchar();
- getchar();
- break;
- default:
- break;
- }
- break;
- case 2:
- {
- system("cls");
- for(int k = 0; k < ySize; k++){
- int* copyArr = new int[xSize];
- for(int i = 0; i < xSize; i++)
- copyArr[i] = arr[k][i];
- for(int i = 0; i < xSize - 1; i++)
- for(int j = 0; j < xSize - 1; j++)
- if(copyArr[j] > copyArr[j + 1])
- swap(©Arr[j], ©Arr[j + 1]);
- for(int i = 0; i < xSize; i++)
- printf("%d ", copyArr[i]);
- printf("\n");
- delete[] copyArr;
- }
- printf("\nДля продолжения нажмите Enter.");
- getchar();
- getchar();
- break;
- }
- case 3:
- system("cls");
- for(int i = 0; i < ySize; i++){
- for(int j = 0; j < xSize; j++){
- printf("%d ", arr[i][j]);
- }
- printf("\n");
- }
- printf("Для продолжения нажмите Enter.");
- getchar();
- getchar();
- break;
- case 4:
- isFour = true;
- break;
- default:
- break;
- }
- } while(!isFour);
- for(int i = 0; i < ySize; i++)
- delete[] arr[i];
- delete[] arr;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement