Блок-схема

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
ЮрийIII
Сообщения: 27
Зарегистрирован: 05 май 2008, 18:15

24 май 2009, 06:48

Добрый день. Подскажите пожалуйста как составить БЛОК-СХЕМУ для этой программы.

вот код:

Код: Выделить всё

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 20
void form(int *z)
{
  int i;
  for (i=0;i<N; i++)
     z[i]=random(100);
}

void vivod(int *z)
{
  int i;
  for (i=0;i<N; i++)
     printf("%4d",z[i]);
}
void m_vst(int *z)
{
  int i,j,k,x;
  for (k=1;k<N;k++)
  {
    x=z[k];
    j=k-1;
    while ((x<z[j])&&(j>=0))
      {
	z[j+1]=z[j];
	j--;
      }
    z[j+1]=x;
  }
}
void pr_ob(int *z)
{int k,i,j;
  for(i=0; i<N; i++)
    {for (i=0; i<N; i++)
    for (j=N-1; j>=1+i; j--)
     if (z[j]<z[j-1])
    {
     k=z[j];
     z[j]=z[j-1];
     z[j-1]=k;}
    }}
void pr_vib(int *z)
      {int j,i,m,k,r;
      for (i=0; i<N-1; i++)
	{
	m=z[i]; k=i;
	 for (j=i; j<N; j++)
	 if (m>z[j]) { m=z[j]; k=j;}
	   r=z[i];
	   z[i]=z[k];
	   z[k]=r; }}
void main()
{
   int a[N];
   printf("\n Massiv :\n");
  {form(a);
   vivod(a);
   m_vst(a);
   printf("\n Массив отсортирован методом простых вставок :\n");
   vivod(a);
   getch();}

     {form(a);
     pr_ob(a);
     printf("\n Массив отсортирован методом простого обмена :\n");
     vivod(a);
     getch();}

       {form(a);
	pr_vib(a);
	printf("\n Массив отсортирован методом простого выбора :\n");
	vivod(a);}
getch();
}
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

24 май 2009, 10:54

&quot писал(а):for(i=0; i<N; i++)
{for (i=0; i<N; i++)
Эта запись некорректна, хотя она и будет работать. Один из идентичных циклов можно безболезненно убрать.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
ЮрийIII
Сообщения: 27
Зарегистрирован: 05 май 2008, 18:15

24 май 2009, 16:53

Спасибо,Romeo
ЮрийIII
Сообщения: 27
Зарегистрирован: 05 май 2008, 18:15

29 май 2009, 20:00

Я немного переделал программу

Код: Выделить всё

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 20  // строка символов
void form(int *z)
{
  int i;
  for (i=0;i<N; i++)
     z[i]=random(100); // Заполнение массива случайными числами
}

void vivod(int *z)
{
  int i;
  for (i=0;i<N; i++)
     printf("%4d",z[i]); //Вывод массива на экран
}
void m_vst(int *z)
{
  int i,j,k,x;
  for (k=1;k<N;k++)
  {
    x=z[k];
    j=k-1;
    while ((x<z[j])&&(j>=0))
      {
	z[j+1]=z[j];
	j--;
      }
    z[j+1]=x;
  }
}       //Реализация сортировки массива методом простых вставок       
void pr_ob(int *z)
{
int k,i,j;
  for(i=0; i<N; i++)
    {for (i=0; i<N; i++)
    for (j=N-1; j>=1+i; j--)
     if (z[j]<z[j-1])
    {
     k=z[j];
     z[j]=z[j-1];
     z[j-1]=k;} }
    }   //Реализация сортировки массива методом простого обмена

void pr_vib(int *z)
     {
      int j,i,m,k,r;
      for (i=0; i<N-1; i++)
	{
	m=z[i]; k=i;
	 for (j=i; j<N; j++)
	 if (m>z[j]) { m=z[j]; k=j;}
	   r=z[i];
	   z[i]=z[k];
	   z[k]=r; }
      } //Реализация сортировки массива методом простого выбора

void main()
{
   int a[N];
   printf("\n Massiv :\n"); // Вывод несортированного массива на экран
  {form(a);
   vivod(a);
   m_vst(a);
   printf("\n Массив отсортирован методом простых вставок :\n");
   vivod(a);
   pr_ob(a);
   printf("\n Массив отсортирован методом простого обмена :\n");
   vivod(a);
   pr_vib(a);
   printf("\n Массив отсортирован методом простого выбора :\n");
   vivod(a);
   getch();}
}
Подскажите, правильно ли я сделал Блок-схему для нее

[ATTACH]911[/ATTACH]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить