Практические / Отчеты студентов 2011-2012 / ВТ-12 ЛР / Понтеев / 10 лаба / Лабораторная работа №10
.docxМосковский Государственный Университет Леса
Лабораторная работа №10.
Программирование на языках высокого уровня
Выполнил: Пантеев В.В.
Проверил: Ларионов Н.В.
Москва 2012.
в одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) номер минимального по модулю элемента массива;
2) сумму модулей элементов массива, расположенных после первого отрицательного элемента.
Сжать массив, удалив из него все элементы, величина которых находится в интервале[а,Ь]. Освободившиеся в конце массива элементы заполнить нулями.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, i, min;
FILE *fp;
srand( (unsigned int) (time(NULL)));
fp = fopen("Data.txt", "rt");
fscanf(fp, "%d", &n);
int *a = (int*) malloc(n*sizeof(int));
while ( (!feof(fp)) && i < n)
fscanf(fp, "%d", &a[i++]);
printf("Array is \n");
for (i = 0; i < n; ++i)
printf("%d%c", a[i], (i%10 == 9) ? '\n': ' ');
min = 0;
for (i = 0; i < n; ++i)
if ( abs(a[min]) > abs(a[i]) )
min = i;
printf("Min element is %d, index = %d", a[min], min);
getchar();
free(a);
a = NULL;
fclose(fp);
return 0;
}