Форум программистов, компьютерный форум CyberForum.ru

Как построить блок-схему к коду на с++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Считать из текстового файла числа и вывести их сумму http://www.cyberforum.ru/cpp-beginners/thread1206600.html
всем привет! такая задача надо с файла .TXT считать числа и вывести их сумму на екран!? помогите пожайлуста!!! спасибо
C++ Выполнить сглаживание одномерного массива Описать функцию, выполняющую сглаживание одномерного массива следующим образом: каждый элемент массива заменяется на его среднее арифметическое с соседними элементами (при вычислении среднего арифметического используются исходные значения соседних элементов). С помощью этой функции выполнить четырёхкратное сглаживание одномерного массива, выводя результаты каждого сглаживания. http://www.cyberforum.ru/cpp-beginners/thread1206599.html
Записать в файл массив, положительные элементы разделить на последний, а отрицательные - на первый элемент C++
помогите написать прогу в С + + Записать в файл массив D (13), положительные элементы разделить на последний элемент, а отрицательные - на первый элемент. Вывести на экран оба массива.
C++ Как найти диапазон ?
a={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15} человек ввел с клавиатуры начало диапазона например 5, а вторую цифру (конец диапазона) например 11. и вот как найти сколько между ними чисел (в нашем случае их 5 ), и произведение всех чисел в диапазоне. может быть что то такое ? const int n=15; int min = a; int max=a; for (int i=0; i<n; i++) if (a>=a) min=a;
C++ Создать двунаправленный список с числами в диапазоне от -50 до +50 http://www.cyberforum.ru/cpp-beginners/thread1206591.html
Создать двунаправленный список с числами в диапазоне от -50 до +50. После создание списка сместить по кольцу элементы списка на заданное число позиций.Написать программу сортировки и поиска в двунаправленном списке.Отсортировать список и вывести его на экран. Найти элемент списка,равный номеру варианта,и вывести его порядковый номер либо сообщение о том,что токого элемента нет.В конце работы все...
C++ Выделение динамической памяти Чем int *List = new int; delete List; отличается от обычного массива (int List) ? Нет, я понимаю, что создал динамическую переменную. Но ведь выделяется память на десять элементов как и в обычном массиве. Тогда зачем он нам нужен ? подробнее

Показать сообщение отдельно
nastik12345
Сообщений: n/a
12.06.2014, 20:54     Как построить блок-схему к коду на с++
помогите, пожалуйста! как построить блок-схему к коду на с++?
#include <stdio.h>
#include <math.h>
#include <iostream>

#define abs(a) (((a)<0)?(-(a)) : (a)) // визначає ідентифікатор і послідовність символів, яка буде підставлятися замість ідентифікатора кожен раз, коли він зустрінеться у вихідному файлі

int m,n,xb,yb,xe,ye;
char s[1000];
void calc()
{
int dx[]={-1,-1,1,1};
int dy[]={-1,1,-1,1};
int x[]={xb,xb,xb,xb};
int y[]={yb,yb,yb,yb};
int RC=-1;
int t=1;
int nn=0;
int first[]={1,1,1,1};
while(RC==-1 &&t)
{
nn++;
t=0;
for (int i=0;i<4;i++)
{
if (!dx[i]) continue;
t=1;
while(true)
{
int nx=x[i]+dx[i];
int ny=y[i]+dy[i];
if (nx>m || nx<1)
{
if (ny>n || ny<1) dx[i]=0;
else if (first[i]) dx[i]=0; else dx[i]=-dx[i];
break;
}
else
if (ny>n || ny<1)

{
if (first[i]) dx[i]=0; else dy[i]=-dy[i];
break;
}
else
{
x[i]=nx;
y[i]=ny;
first[i]=0;
if(abs(xe-nx)==abs(ye-ny))
{RC=i;break;}
}
}
first[i]=0;
}

}
if (!t)
{
printf("Cycled!");
}
else
{
x[RC]=xb;
y[RC]=yb;
int dx[]={-1,-1,1,1};
int dy[]={-1,1,-1,1};
first[RC]=1;
int i=RC;
RC=-1;
printf("%d\n",nn+1);
while(RC==-1)
{

while(true)
{
int nx=x[i]+dx[i];
int ny=y[i]+dy[i];
if (nx>m || nx<1)
{
if (ny>n || ny<1) dx[i]=0;
else {
dx[i]=-dx[i];
printf("%d %d\n",x[i],y[i]);
}
break;
}
else

if (ny>n || ny<1)
{
dy[i]=-dy[i];
printf("%d %d\n",x[i],y[i]);
break;
}
else
{
x[i]=nx;
y[i]=ny;
if(abs(xe-nx)==abs(ye-ny))
{
RC=i;
printf("%d %d\n",nx,ny);
break;
}
}
}
}
}
}

int main(void)
{
int k;
s[0]='\0';
scanf("%d %d %d %d %d %d",&m,&n,&xb,&yb,&xe,&ye);

if (xb==xe && yb==ye) {k=0;}
else
if (m==1||n==1)
{
k=0;
}
else
if (abs(xb+yb-xe-ye)%2!=0)
{
k=0;
}
else
{
k=1;
}
if (k) calc();
else printf("0\n");
system ("pause");
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru