Untitled
unknown
c_cpp
2 years ago
2.2 kB
12
Indexable
#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;
}
Editor is loading...