Untitled
c_cpp
2 months ago
1.9 kB
1
Indexable
Never
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <windows.h> // дан квадратный массив размером 6 х 6, который хранится в ивде одномерного массива // записать в текстовый файл в одну строку главную и побочную диагонали массива // отсортировать главную диагональ массива по взрастанию свреху вниз // 1 2 3 [4] // 5 6 [7] 8 // 9 [0] 1 -1 // [4] 7 8 2 // 1 2 3 4 5 6 7 8 9 0 1 -1 4 7 8 2 /*void MainMatr(const int *arr, const int n){ int i, j; for (i = 0; i < n; i++) for (j = 0; j < n; j++) if (i == j) fprintf(fout, "%d", arr[i * n + j])*/ void FillArr(int *arr, const int size) { int i; const int n = size * size; for (i = 0; i < n; i++ ) arr[i] = rand() % 11 - 5; } void PrintArr(int *arr, const int size) { int i,j; for (i = 0; i < size; i ++) { for (j = 0; j < size; j++) printf("%5d", arr[i * size + j]); puts(""); } } int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); srand(time(0)); FILE* fout = fopen( "out.txt", "w" ); if( fout == NULL ) { puts("Не удалось открыть файл на запись!"); return 1; } const int size = 4; const int n = size * size; int arr[n]; FillArr(arr, size); // имя массива - это указатель на первый элемент PrintArr(arr, size); int i; for (i = 0; i < n; i = i + 5) fprintf(fout, "%d", arr[i]); for (i = size -1 ; i < n-1; i = i + 3) fprintf(fout, "%d", arr[i]); fclose(fout); return 0; }