Untitled
unknown
c_cpp
2 years ago
1.9 kB
11
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 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;
}
Editor is loading...