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

Учреждение «Университет Туран»

Факультет АКТ

Кафедра компьютерная и программная инженерия

Отчёт по лабораторной работе №6

по дисциплине «ООП»

Выполнил

ст. гр. ВТПО-12-1у

Цой А. С.

Проверила

Койшыбаева Ж.Б.

Алматы, 2013

1 ПОСТАНОВКА ЗАДАЧИ

Функции и массивы.

Выполнить задания третьей лабораторной работы (Одномерные массивы) и четвертой лабораторной работы (Двумерные массивы), оформив каждый пункт задания в виде функции. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.

2 АНАЛИЗ ПОСТАНОВКИ ЗАДАЧИ

Для выполнения данной работы необходимо описать основную работу выполняющую поиск значения «3» в матрице для 3 лабораторной и поиск индекса минимального элемента для 2 лабораторной

3 ФОРМАЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ

1) Дано 6 элементов массива.

Требуется найти индекс минимального элемента и подсчитать сумму модулей элементов массива, находящихся после.

После выше описанных операций задаем интервал и сжимаем массив, заменяя элементы не входящие в интервал, «0».

2) Дана матрица типа 3х4.

Требуется найти все элементы в данной матрице, значение которых равно «3». Ввод элементов в матрицу производится вручную.

4 ИСКЛЮЧИТЕЛЬНЫЕ СИТУАЦИИ

Некорректный ввод исходных данных. Данные вводятся формата «int», т.е. вводиться могут только цифры. При вводе неправильного значения программа даст сбой.

5 РЕЗУЛЬТАТЫ

5.1.1 Листинг программы

#include "stdafx.h"

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define N 6

void func1(int *mat,int b1)

{int c,sum=0;

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

{

if (abs(mat[i])<b1)

{

b1=abs(mat[i]);

c=i;

}

}

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

{

if (mat[i]<0)

{ for (int j=i+1;j<N;j++)

sum=sum+abs(mat[j]);

i=N;

}

}

printf("nomer min chisla %i \n", c+1);

printf("summa posle otricat %i \n", sum);

}

int _tmain(int argc, _TCHAR* argv[])

{int a[N], b, y,x;

printf (" Vvedite v odnoi stroke elementi massiva, \n");

printf (" % i celih chisel, i najmite <Enter> \n" ,N);

printf ("->");

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

scanf( "%i",&a[i]);

b = 2147483647;

func1 (&a[0],b);

printf ("Vvedite interval \n");

scanf( "%i", &x);

scanf( "%i",&y);

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

{

if ((a[i]<x)||(a[i]>y))

a[i]=0;

}

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

printf("%i ", a[i]);

printf ("\n");

getch();

return 0;

}

5.1.2 Листинг программы

#include "stdafx.h"

#include<stdio.h>

#include<stdlib.h>

#include <conio.h>

#include<iostream>

#include<math.h>

using namespace std;

void func2(int mat[3][4])

{ int sum=0;

for (int i=0;i<3;i++)

for(int j=0;j<4;j++)

if (mat[i][j]==3)

sum=sum+1;

cout << sum;

}

int main()

{

setlocale (LC_ALL,"Russian");

int i,j,sum;

int a[3][4];

sum=0;

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

for(j=0;j<4;j++)

{

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

cin>>a[i][j];

}

for (int i=0; i<3; i++) {

for (int j=0; j<4; j++)

std::cout << " " << a[i][j];

std::cout << std::endl; }

func2(a);

printf ("\n");

system("pause");

return 0;

}

5.2.1 Контрольный пример

5.2.2 Контрольный пример

Соседние файлы в папке лабы