Спецификация.
Строки и структуры
Strcpy (sort.name, a. name); Strcpy (sort.name, a. name); Strcpy (a. name, sort.name); Strcpy (a. name, sort.name); Strcpy (a. name, sort.name); Промежуточная. Промежуточная. Промежуточная. Промежуточная. Char surname, name, zodiac; ZNAK символьный. ZNAK символьный. Strcpy (a. name, a. name); Strcpy (a. name, a. name); Strcpy (a. name, a. name); ZNAKсимвольный. Поле фамилия. Символьный. Include… Читать ещё >
Спецификация. Строки и структуры (реферат, курсовая, диплом, контрольная)
№. | Наименование переменной. | Обозначения в алгоритме. | Обозначения в программе. | Статус. | Тип. |
объединение элементов. | ZNAK. | ZNAK. | входящая. | структура. | |
поле фамилия. | surname. | surname. | входящая. | ZNAK символьный. | |
поле имя. | name. | name. | входящая. | ZNAK символьный. | |
поле знак Зодиака. | zodiac. | zodiac. | входящая. | ZNAKсимвольный. | |
поле массив дат рождения. | dr. | dr. | входящая. | ZNAK целый. | |
знак для поиска. | z. | z. | входящая. | символьный. | |
массив элементов. | a. | a. | входящая. | ZNAK. | |
номер элемента. | i. | i. | промежуточная. | целый. | |
номер элемента. | j. | j. | промежуточная. | целый. | |
счетчик. | f. | f. | промежуточная. | целый. | |
буферная переменная для сортировки. | sort. | sort. | промежуточная. | ZNAK. |
Алгоритм решения задачи в виде блок-схемы
Текст программы.
#include" stdafx. h" .
#include" string. h" .
#include" iostream" .
usingnamespacestd;
int main ().
{.
struct ZNAK.
{.
char surname[15], name[10], zodiac[10];
intdr[3];
};
ZNAK a[8];
inti, f=0, j;
constint n=20;
char z[n];
for (i=0; i<8; i++).
cin>>a[i]. surname>>a[i].name>>a[i].zodiac>>a[i].dr[0]>>a[i].dr[1]>>a[i].dr[2];
//сортировка по др
for (i=0;i<8;i++).
for (j=i+1;j<8;j++).
{.
if (a[i]. dr[0]>a[j].dr[0]).
{.
ZNAK sort;
strcpy (sort.surname, a[i]. surname);
strcpy (sort.name, a[i]. name);
strcpy (sort.zodiac, a[i]. zodiac);
sort.dr[0]=a[i]. dr[0];
sort.dr[1]=a[i]. dr[1];
sort.dr[2]=a[i]. dr[2];
strcpy (a[i]. surname, a[j]. surname);
strcpy (a[i]. name, a[j]. name);
strcpy (a[i]. zodiac, a[j]. zodiac);
a[i]. dr[0]=a[j].dr[0];
a[i]. dr[1]=a[j].dr[1];
a[i]. dr[2]=a[j].dr[2];
strcpy (a[j]. surname, sort. surname);
strcpy (a[j]. name, sort.name);
strcpy (a[j]. zodiac, sort. zodiac);
a[j]. dr[0]=sort.dr[0];
a[j]. dr[1]=sort.dr[1];
a[j]. dr[2]=sort.dr[2];
}.
if (a[i]. dr[1]>a[j].dr[1]).
{.
ZNAK sort;
strcpy (sort.surname, a[i]. surname);
strcpy (sort.name, a[i]. name);
strcpy (sort.zodiac, a[i]. zodiac);
sort.dr[0]=a[i]. dr[0];
sort.dr[1]=a[i]. dr[1];
sort.dr[2]=a[i]. dr[2];
strcpy (a[i]. surname, a[j]. surname);
strcpy (a[i]. name, a[j]. name);
strcpy (a[i]. zodiac, a[j]. zodiac);
a[i]. dr[0]=a[j].dr[0];
a[i]. dr[1]=a[j].dr[1];
a[i]. dr[2]=a[j].dr[2];
strcpy (a[j]. surname, sort. surname);
strcpy (a[j]. name, sort.name);
strcpy (a[j]. zodiac, sort. zodiac);
a[j]. dr[0]=sort.dr[0];
a[j]. dr[1]=sort.dr[1];
a[j]. dr[2]=sort.dr[2];
}.
if (a[i]. dr[2]>a[j].dr[2]).
{.
ZNAK sort;
strcpy (sort.surname, a[i]. surname);
strcpy (sort.name, a[i]. name);
strcpy (sort.zodiac, a[i]. zodiac);
sort.dr[0]=a[i]. dr[0];
sort.dr[1]=a[i]. dr[1];
sort.dr[2]=a[i]. dr[2];
strcpy (a[i]. surname, a[j]. surname);
strcpy (a[i]. name, a[j]. name);
strcpy (a[i]. zodiac, a[j]. zodiac);
a[i]. dr[0]=a[j].dr[0];
a[i]. dr[1]=a[j].dr[1];
a[i]. dr[2]=a[j].dr[2];
strcpy (a[j]. surname, sort. surname);
strcpy (a[j]. name, sort.name);
strcpy (a[j]. zodiac, sort. zodiac);
a[j]. dr[0]=sort.dr[0];
a[j]. dr[1]=sort.dr[1];
a[j]. dr[2]=sort.dr[2];
}.
}.
cout<
for (i = 0; i < 8; i++) // выводим отсортированный список.
{.
cout<< a[i]. surname <<" «<< a[i]. name <<» «<< a[i]. zodiac<<» «<< a[i]. dr[0] <<» «<< a[i]. dr[1]<<» «<< a[i]. dr[2]<
}.
cout<>z;
for (i=0; i<8; i++).
if (strcmp (z, a[i]. zodiac)==0).
{.
cout<<<" «<<<» «<<<» «<<<» «<<<» «<<
f=1;
}.
if (!f) cout<<" takih net" <
cout<
system («pause»);
return 0;
}.
Тестовый результат.