Вывести в текстовый файл вертикальную зависимость значения числа от индекса - C (СИ)
Формулировка задачи:
Есть нормированный массив arrn (числа в нем целые от 0 до 80)
нужно вывести в текстовый файл вертикальную зависимость значения числа от индекса
написал функцию но она каждый раз начальное значение следующего элемента берет как конечное предыдущего
как можно сделать чтобы столбики былы рядом?
void file() { int k,u; FILE *f = fopen("Var13.txt", "w"); for(int i = 0; i < (cnt+1); i++ ) { for (k = 0; k < (arrn[i] + 1); k++) fprintf(f,"\n"); for (u = 0; u < i+1 ; u++) fprintf(f," "); fprintf (f,"%c",0xB0); } fclose(f); };
Решение задачи: «Вывести в текстовый файл вертикальную зависимость значения числа от индекса»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> void Print(FILE* f, int array[], size_t count, size_t max) { size_t i, j; for (i = 0; i < max; ++i) { for (j = 0; j < count; ++j) { fprintf(f, "%c", array[j] < (max - i) ? ' ' : '-'); } fprintf(f, "\n"); } }; int main() { int array[] = {2, 5, 0, 1, 6 , 8, 10}; Print(stdout, array, sizeof(array) / sizeof(*array), 10); return 0; }
Объяснение кода листинга программы
Вывод в консоль начинается с номера 1:
- В функции
Print
происходит обход массиваarray
с помощью двух вложенных циклов. - Первый цикл (для
i
) отвечает за горизонтальное перемещение по строке. - Второй цикл (для
j
) отвечает за вертикальное перемещение по столбцу. - С помощью функции
fprintf
в файлf
записывается символ либо пробел, либо дефис. - Если значение
array[j]
меньшеmax - i
, то в файл записывается пробел. - Если значение
array[j]
больше или равноmax - i
, то в файл записывается дефис. - После завершения второго цикла, с помощью функции
fprintf
в файл записывается символ новой строки\n
. - После завершения первого цикла, функция
Print
завершается. - В функции
main
происходит вывод массиваarray
с помощью функцииPrint
в файлstdout
(консоль). - Размер массива
array
определяется какsizeof(array) / sizeof(*array)
и передается в функциюPrint
для контроля количества выводимых элементов. - Число 10 передается в функцию
Print
как максимальное значение индекса для вывода. - Возвращаемое значение функции
main
равно 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д