Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по ОАП.docx
Скачиваний:
0
Добавлен:
24.09.2019
Размер:
29.6 Кб
Скачать

#include<windows.h>

#include<stdio.h>

#include<string.h>

struct klass

{

int data,mes,god;

char fio[100];

};

void vyvod(klass*a,int n);

int main()

{

SetConsoleOutputCP(1251);

int i,j,n;

printf("Введите кол-во записей в структуре:\n");

scanf("%d",&n);

klass*b=new klass[n],tmp;

for(i=0;i<n;i++)

{

printf("Введите ФИО учащегося:\n",i+1);

do

{

gets(b[i].fio);

}

while(strlen(b[i].fio)<1);

printf("Введите дату рождения:\n");

scanf("%d",&b[i].data);

printf("Введите месяц рождения:\n");

scanf("%d",&b[i].mes);

printf("Введите год рождения:\n");

scanf("%d",&b[i].god);

}

vyvod(b,n);

printf("Ученики, родившиеся в мае:\n");

for(i=0;i<n;i++)

{

if(b[i].mes==5)

vyvod(&b[i],1);

}

return 0;

}

Void vyvod(klass*a,int n)

{

int i;

for(i=0;i<n;i++)

printf("%2d.%-20s %4d %4d %5.1d\n",

i+1,a[i].fio,a[i].data,a[i].mes,a[i].god);

}

#include<windows.h>

#include<stdio.h>

#include<string.h>

struct train

{

int numb;

float time;

char nazn[20];

};

void vyvod(train*a,int n);

int main()

{

SetConsoleOutputCP(1251);

const int n=8;

train rasp[n];

int i,j,k=0;

float t;

for(i=0;i<n;i++)

{

printf("Введите пункт назначения:\n",i+1);

do

{

gets(rasp[i].nazn);

}

while(strlen(rasp[i].nazn)<1);

printf("Введите время отправления:\n");

scanf("%f",&rasp[i].time);

printf("Введите номер поезда:\n");

scanf("%d",&rasp[i].numb);

}

vyvod(rasp,n);

printf("Введите время:\n");

scanf("%f",&t);

printf("Информация о поездах:\n");

for(i=0;i<n;i++)

{

if(rasp[i].time>=t)

vyvod(&rasp[i],1);

else

k++;

}

if(k==0)

printf("Информации не обнаружено\n");

return 0;

}

Void vyvod(train*a,int n)

{

int i;

for(i=0;i<n;i++)

printf("%2d.%.f\t%5d\t%-20s\n",i+1,a[i].time,a[i].numb,a[i].nazn);

}

#include<iostream.h>

#include<windows.h>

#include<math.h>

template <class T> void vvod(T*a,int n);

template <class T> void vyvod(T*a,int n);

template <class T> int kol(T*a,int n);

template <class T> int min_mas(T*a,int n);

template <class T> T sum(T*a,int n,int min);

template <class T>void sort1(T*a,int n);

Int main()

{

SetConsoleOutputCP(1251);

const int n=5,m=5;

int a[n],min;

float b[m];

cout<<"Введите элементы 1-го массива:"<<endl;

vvod(a,n);

cout<<"Введите элементы 2-го массива:"<<endl;

vvod(b,m);

vyvod(a,n);

vyvod(b,m);

cout<<"Количество элементов 1 массива, равных 0="<<kol(a,n)<<endl;

cout<<"Количество элементов 2 массива, равных 0="<<kol(b,m)<<endl;

min=min_mas(a,n);

cout<<"Номер min1="<<min<<endl;

cout<<"sum1="<<sum(a,n,min)<<endl;

min=min_mas(b,m);

cout<<"Номер min2="<<min<<endl;

cout<<"sum2="<<sum(b,m,min)<<endl;

sort1(a,n);

sort1(b,m);

cout<<"Массивы после сортировки:"<<endl;

vyvod(a,n);

vyvod(b,m);

return 0;

}

template <class T> void vvod(T*a,int n)

{

int i;

for(i=0;i<n;i++)

cin>>a[i];

}

template <class T> void vyvod(T*a,int n)

{

int i;

for(i=0;i<n;i++)

cout<<a[i]<<"\t";

cout<<endl;

}

template <class T> int kol(T*a,int n)

{

int i,k=0;

for(i=0;i<n;i++)

if(a[i]==0)

k++;

return k;

}

template <class T> int min_mas(T*a,int n)

{

int i, min=0;

for(i=1;i<n;i++)

if(a[i]<a[min])

min=i;

return min;

}

template <class T> T sum(T*a,int n, int min)

{

int i;

T summa=0;

for(i=min+1;i<n;i++)

summa+=a[i];

return summa;

}

template <class T> void sort1(T*a,int n)

{

int i;

bool flag=true;

float tmp;

while(flag)

{

flag=false;

for(i=0;i<n-1;i++)

if(fabs(a[i])>fabs(a[i+1]))

{

tmp=a[i];

a[i]=a[i+1];

a[i+1]=tmp;

flag=true;

}}

}

#include<windows.h>

#include<iostream.h>

void vvod(float*,int,int);

void vyvod(float*,int,int);

void rez(float*a,float*b,float*c,int n,int m,int l);

void tran(float*b,int n,int m);