Существуют ли программы для рисования блок-схем по коду - C (СИ)
Формулировка задачи:
Здравствуйте! Возникла такая проблема: у меня имеются рабочие реализации задачек, но к ним нет блок-схем. Не подскажите, есть ли стоящие программы, которые способны корректно перевоплотить текст программы в блок-схему? Ну или какой-нибудь сайтик, в котором всё это дело производится в режиме онлайн. Заранее Вам благодарен!
Решение задачи: «Существуют ли программы для рисования блок-схем по коду»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
int main()
{
const int n=3, m=4;
int *p;
int i, j, f, buf;
int A[n][m];
p=&A[0][0];
for (i=0; i<n*m; i++)
{printf("A=");
scanf("%d", p);
p++;
}
p=&A[0][0];
for (i=0; i<n; i++)
{
f=1
while(f==1)
{
f=0;
for (j=1; j<m; j++)
{
if (A[i][j-1]<A[i][j])
{
buf=A[i][j-1];
A[i][j-1]=A[i][j];
A[i][j]=buf;
f=1;
}
}
}
}
for (i=0; i<n*m; i++)
{
printf("%d", *p);
p++;
if ((i+1)%m==0 && i>0) printf("\n");
}
getch ();
return 0;
}
Объяснение кода листинга программы
- Объявлены следующие переменные:
- n, m, int, значения n=3, m=4
- p, int, адрес первого элемента массива A
- i, j, int, используются как счетчики для циклов
- f, int, флаг для контроля выхода из вложенного цикла
- buf, int, временная переменная для обмена значениями
- A, int, массив 2D, размером n x m
- В цикле от 0 до n*m происходит чтение значений массива A с помощью функции scanf.
- Для каждого элемента массива A выполняется сортировка с помощью алгоритма сортировки пузырьком.
- Результат сортировки выводится на экран с помощью функции printf.
- Выводится символ новой строки при переходе на следующую строку массива A.
- В конце программы вызывается функция getch для ожидания нажатия клавиши.
- Программа возвращает 0, что означает успешное завершение работы.