Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование на C / C++ / Лабораторные работы2 / УГАТУ АСОИ-136 пр-ние на ЯВУ лаб.№2 вар.№25_1_Даша

.doc
Скачиваний:
24
Добавлен:
02.05.2014
Размер:
86.02 Кб
Скачать

Уфимский государственный авиационный технический университет

Кафедра АСУ

Отчёт

по лабораторной работе №2

по дисциплине ”Программирование на ЯВУ”.

вариант №25.

Выполнил: студент группы АСОИ-136

Разбежкина Д. Проверила: доцент кафедры АПРиС

Фёдорова Н.И.

Уфа 2007.

Тема: Циклические алгоритмы.

Цель работы: Знакомство и получение навыков реализации циклических алгоритмов и обработки одномерных массивов на языке С.

Вариант №25.

Задание:

а)

Решение:

Блок-схема

Текст программы на С++

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

{int i,m,n,k;

double c,s,p1,p2,p3;

clrscr();

cout<<"vvedite m i n pri yslovii m<n:\n";

cout<<"m=";

cin>>m;

cout<<"n=";

cin>>n;

s=0;

for(k=m;k<=n;k++)

{cout<<" pri k="<<k;

p1=p2=p3=1;

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

{

if(i<=2*k)

p2=p2*i;

p1=p1*i;

if(i<=2*fabs(k-n))

p3=p3*i;

}

c=p1/(p2*p3);

cout<<" c="<<c<<endl;

s=s+c;

}

cout<<endl<<" s="<<s;

getch();

} Проверка:

При m =1 и n=5

Получаем

При m=4 и n=8

Получаем

б) Задан целочисленный массив, содержащий N элементов. Найти номера индексов, соответствующих среднеарифметическому значению среди положительных элементов массива.

Блок-схема

Текст программы на С++

#include<iostream.h>

#include<conio.h>

void main()

{const N=6;

int i,fl,a[N];

double S,sred,del;

clrscr();

cout<<"vvedite celochislennye elementy massiva\n";

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

{

cout<<"a["<<i+1<<"]=";

cin>>a[i];

}

S=0;del=0;

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

if(a[i]>0)

{

S=S+a[i];

del=del+1;

}

cout<<"S="<<S<<endl;

cout<<"del="<<del<<endl;

sred=S/del;

fl=0;

cout<<"sred="<<sred<<endl;

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

{

if(a[i]==sred)

{

cout<<"index="<<i<<endl;

fl=1;

}

}

if(fl==0)

cout<<"net takih elementov v massive";

getch();

}

Проверка:

При a[i]=-45,56,-0,58,-35,57;

sred=(56+58+57)/3=171/3=57;

Результат: index=6;

При a[i]= 15,98,37,56,81,49;

sred=(15+98+37+56+81+49)/6=336/6=56;

Результат: index= 4;

При a[i]=9,11,12,13,15,17;

sred=(9+11+12+13+15+17)/6=77/6=12.83333333

Результат: нет таких элементов.

6