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

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

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

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

Кафедра АСУ

Отчёт

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

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

вариант №17.

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

Татаринцова Ю. Проверила: доцент кафедры АПРиС

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

Уфа 2007.

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

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

Вариант №17.

Задание:

а)S=

Решение:

Блок-схема

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

#include<iostream.h>

#include<conio.h>

void main()

{double c,s;

int i,k,n;

clrscr();

cout<<"введите переменную n\n";

cout<<"n=";

cin>>n;

s=0;

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

{c=1;

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

{c*=k+i;

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

}

s+=c;

}

cout<<"сумма s="<<s;

getch();

}

Проверка:

При m =3

Получаем: 1(1+1)(1+2)+2(2+1)=1*2*3+2*3+3=6+6+3=15;

При m=5

Получаем:1(1+1)(1+2)(1+3)(1+4)+2(2+1)(2+2)(2+3)+3(3+1)(3+2)+4(4+1)+5=1*2*3*4*5+2*3*4*5+3*4*5+4*5+5=120+120+60+20+5=325

б) Задан массив, содержащий N элементов. Упорядочить его элементы в порядке возрастания.

Решение:

Необходимо элементы сравнить каждый друг с другом и записать в нужном порядке.

Блок-схема

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

#include<iostream.h>

#include<conio.h>

void main()

{const n=6;

double a[n],t;

int i,k;

clrscr();

cout<<"введите массив a[i]\n";

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

{

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

cin>>a[i];

}

cout<<"исходный массив a[i]= ";

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

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

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

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

if(a[k]>a[i])

{

t=a[k];

a[k]=a[i];

a[i]=t;

}

cout<<"\nконечный массив a[i]= ";

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

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

getch();

} Проверка:

При a[i] = 1 9 2 8 3 7

Результат: a[i] = 1 2 3 7 8 9

При a[i] = -5 9 89 -65 2 37

Результат: a[i]= -65 -5 2 9 37 89

5