Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Программирование алгоритмов обработки одномерных массивов




Цель работы: научиться разрабатывать и отлаживать программы с использованием регулярных типов (векторов).

Массивнабор элементов, способных хранить данные одинакового типа. Объявляя массив, необходимо сначала указать тип хранимых данных, имя массива и его размер в квадратных скобках. Размером массива называется количество его элементов.

<класс><тип><идетификатор>[конст. выраж1][конст. выраж2]…;

Квадратные скобки здесь обязательны, константное выражение в квадратных скобках задает количество элементов в массиве (размерность) по каждому измерению. Число измерений определяется числом квадратных скобок. Индексирование элементов в языке Си начинается с нуля.

Пример. Найти значение и номер наименьшего элемента в одномерном массиве. При задании элементов исходного массива типизированной константой СА решения задачи имеет вид (рис.8, а) и используется следующая программа:

 

 
 

 


 

#include <conio.h>

#include <stdio.h>

void main ()

{

int a[10] = {5,2,7,1,8,3,4,5,6,6};

int i, min, n;

min = a[0];

n = 0;

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

{

if (a[i]<min)

{ min = a[i];

n=i+1;

}

}

printf ("минимальный элемент %d-й равен %d\n ", n, min);

getch();

}

Если элементы массива вводятся с клавиатуры, то СА имеет вид (рис.8,б) и текст программы изменится:

#include <stdio.h>

#include <conio.h>

void main ()

{ int a[10];

int i, min, n;

printf(“Введите элементы массива: ”);

scanf ("%d",&a[0]);

min = a[0];

n = 1;

for (i=1; i<10; i++)

{

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

if (a[i]<min)

{ min = a[i];

n = i+1;

}

}

printf ("минимальный элемент %d равен n= %d\n ", n, min);

getch();

}

Задание 1

Начертить структурную схему алгоритма, написать и отладить прог­рамму для одной из следующих задач. В программе 6_1 исходные массивы задать типизированными константами. В программе 6_2 элементы исходных массивов ввести через оператор ввода.

1. Дан массив из N чисел (N<12). Вычислить среднее геомет­рическое значение.

2. Дан массив из N чисел (10<N<15). Найти максимальное значение.

3. Дано 20 чисел. Найти их среднее арифметические значение.

4. Дано 12 вещественных чисел. Найти порядковый номер того из них, которое наиболее близко к какому-нибудь заданному целому числу Х.

5. Дана последовательность из 15 целых чисел. Определить коли­чество отрицательных чисел в ней и максимальное число подряд следую­щих отрицательных чисел.

6. Дано 15 целых чисел. Найти наибольшее из них. Определить, сколько из чисел принимает наибольшее значение.

7. Дано целое n>1 и вещественные числа x1,x2,..,xn. Вычислить математическое ожидание и дисперсию по формулам

M= , D= .

8. Дан массив из N чисел (8<N<12). Вычислить сумму элементов с нечетными индексами и их среднее арифметические значение.

9. Даны два одномерных массива А и В. Вычислить элементы массива С по правилу: если аi и bi различны, то сi присвоить их сумму, при одинаковых аi, bi в сi переписать соответствующий элемент массива А.

10. Дано 10 вещественных чисел. Вычислить разность между макси­мальным и минимальным из них.

11. Дано 10 вещественных чисел. Определить, образуют ли они воз­растающую последовательность.

12. Дан массив X из n чисел (6<n<10). Вычислить:

y = x1 - x2 + x3 -...- xn-1 + xn.

13. Дано 18 чисел. Определить, количество элементов, отличных от последнего числа.

14. Дано 12 чисел. Напечатать сначала все отрицательные, а затем все остальные.

15. Сформировать одномерный массив из 15 простых чисел.

16. Дано восемь натуральных чисел. Найти их наибольший общий де­литель.

17. Дана последовательность натуральных чисел. Вычислить сумму тех из них, порядковые номера (индексы) которых - простые числа.

18. Дан массив из 20 натуральных чисел. Вычислить сумму тех из них, порядковые номера которых - числа Фибоначчи, определяемые форму­лами f0 = f1 = 1; fn = fn-1 + fn-2 при n = 1, 2,3,....

19. Дан массив X из n чисел. Вычислить:

y = xn(xn+xn-1)(xn + xn-1 + xn-2)...(xn +... + x1).

20. Дано 24 целых числа. Распечатать их в обратном порядке по шесть чисел в строке.

Задание 2 (программа 6_3)

Модифицировать программу 3_2 для функций F1(x) и F2 (x) таким образом, чтобы результаты были сформированы в виде трех одномерных массивов. Выполнить ее и сравнить результаты с полученными в лабора­торных работах 3 и 4.

 

Лабораторная работа 7






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных