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

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

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

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

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

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

Выполнил

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

Цой А. С.

Проверила

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

Алматы, 2013

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

В одномерном массиве, состоящем из n вещественных элементов, вычислить:

1) номер минимального по модулю элемента массива

2) сумму модулей элементов массива, расположенных после первого отрицательного элемента.

Сжать массив, удалив из него все элементы, величина которых находится а интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями.

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

Поскольку не сказано, нужно ли сортировать элементы после преобразования массива, они никак не сортируются.

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

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

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

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

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

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

5 РЕЗУЛЬТАТЫ

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

#include "stdafx.h"

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define N 6

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;

int c,sum=0;

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

{

if (abs(a[i])<b)

{

b=abs(a[i]);

c=i;

}

}

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

{

if (a[i]<0)

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

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

i=N;

}

}

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

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;

}

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

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

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

printf ("\n");

getch();

return 0;

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

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