Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСНОВЫ ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ СИ. Лабораторный практикум доцента кафедры «Информационные системы и компьютерные технологии» Пановой Т.В. БГТУ «ВОЕНМЕХ».doc
Скачиваний:
146
Добавлен:
26.03.2015
Размер:
1.27 Mб
Скачать

III. Практическая часть.

1. Выполнение общего задания.

Задача 1.

1. Постановка задачи: разработать алгоритм создания массива данных из положительных элементов введенного массива, состоящего из n элементов, с последующим выводом созданного массива. Написать программу, реализующую разработанный алгоритм.

Вариант 1 (используется обращение к элементам массива по имени)

2. Математическая модель и описательный алгоритм: для введенного (входного) массива данных: 1 -5 0 -9 5 7 0 -2 4 0, выходной массив: 1 5 7 4.

  • Объявить входной массив, размерность которого задать константой с: int mas[c];

  • выходной массив может состоять из такого же количества элементов, как входной (если все элементы положительные), поэтому объявить: int mas_new[c];

  • в цикле с постусловием n≤0 или n>c ввести количество элементов массива 0<n≤с;

  • в цикле с параметром 0≤i<n ввести элементы входного массива mas[i];

  • переменная j=0 – счетчик количества элементов выходного массива;

  • в цикле с параметром 0≤i<n для каждого элемента mas[i] проверять условие: если mas[i]>0, то mas_new[j]=mas[i] и j=j+1;

  • если j≠0, то во входном массиве есть положительные элементы, значит, выходной массив создан, тогда в цикле с параметром 0≤i<n вывести элементы mas_new[i]; иначе вывести «нет элементов>0».

3. Блок-схема алгоритма программы:

4. Текст программы:

#include <stdio.h>

#include <conio.h>

int main()

{

const c=15;

int n,j=0,mas[c],mas_new[c];

do

{

printf(“\n input n=”);

scanf(“%d”,&n); // ввод количества элементов входного массива

}

while (n<=0 || n>c);

printf(“\n input massiv:\n”);

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

scanf(“%d”,&mas[i]); // ввод элементов входного массива

printf(“\n output massiv:\n”);

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

printf(“%d “,mas[i]); // вывод элементов входного массива

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

if (mas[i]>0)

{

mas_new[j]=mas[i]; // создание выходного массива

j++;

}

if (j!=0)

{

printf(“\n output massiv:\n”);

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

printf(“%d “,mas_new[i]); // вывод элементов выходного массива

}

else printf(“\n there are no elements>0\n”);

getch();

return 0;

}

Вариант 2 (используется обращение к элементам массива по адресу)

2. Математическая модель и описательный алгоритм: входной массив элементов: 1 -5 0 -9 5 7 0 -2 4 0, выходной массив: 1 5 7 4.

  • Объявить массивы, размерность которых задать константой c: int mas[c], mas_new[c];

  • в цикле с постусловием n≤0 или n>c ввести количество элементов массива 0<n≤с;

  • установить указатели на первые элементы массивов: p=&mas[0], p_new=&mas_new[0];

  • в цикле с параметром 0≤i<n ввести значения элементов входного массива по адресу p, устанавливая после каждого прохода цикла указатель на следующий элемент: p= p+1;

  • j=0 (счетчик элементов выходного массива), установить указатель снова на первый элемент входного массива: p=p-n;

  • в цикле с параметром 0≤i<n проверять условие: если *p>0, то *p_new=*p, j=j+1 и p_new=p_new+1; p=p+1;

  • если j≠0, то выходной массив создан, тогда установить указатель на первый элемент выходного массива: p_new=p_new-j, в цикле с параметром 0≤i<n вывести значения элементов выходного массива *p_new; иначе вывести «there are no elements>0».

Соседние файлы в предмете Программирование