Untitled

mail@pastecode.io avatar
unknown
c_cpp
a year ago
2.2 kB
4
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 Sort(int  const *arr, const int size){
    int i,j;

    for (int i = 0; i < size; i++) {
        int sm = arr[i][i];
        for (int j = i + 1; j < size; j++) {
            if (sm > arr[j][j]) {
                sm = arr[j][j];
                arr[j][j] = arr[i][i];
                arr[i][i] = sm;

}*/

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, j;
    for (i = 0; i < n; i = size + 1 + i)

        fprintf(fout, "%d", arr[i]);


    for (i = size -1 ; i < n-1; i =  size - i)
        fprintf(fout, "%d", arr[i]);


    fclose(fout);
    return 0;
}