л.р по информатике / ЛР2
.docxЛабораторная работа №2
студентки группы ИТ-12
Коршак Кристины Сергеевны
Выполнение:______ Защита:______
ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ
Цель работы: приобрести практический опыт использования одномерных массивов.
СОДЕРЖАНИЕ РАБОТЫ
Выбрать алгоритм, составить его блок-схему и программу для решения выбранного варианта задания.
Исходные и результирующие массивы вывести на экран в виде:
x0 x1 x2 x3 x4
x5 x6 x7 x8 x9
x10 x11 x12 x13 x14
x15 x16 x17 x18 x19
Отчет
-
Постановка задачи:
Задан целочисленный массив Х из 20 элементов. Из этого массива переписать в массив Y той же размерности подряд все отрицательные элементы, а оставшиеся места заполнить единицами. Расположить элементы образованного массива в порядке убывания.
-
Блок схема:
Текст программы
#include <stdafx.h>
#include <stdio.h>
#include <math.h>
#include <locale.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
setlocale(LC_CTYPE,"");
int x[20],y[20];
int j=0,l;
// Ввод элементов массива
printf("Введите 20 элементов массива\n");
for (int i=0;i<20;i++)
{printf("Введите x[%i]\n",i);
scanf("%i",&x[i]);}
printf("Исходный массив:\n");
for(int i=0;i<20;i++)
{ printf(" %i", x[i]);
if(i%5==4)
printf("\n");}
/////////////////////////////
for (int i=0;i<20;i++)
{
if (x[i]<0)
{
y[j]=x[i];
j++;
}
}
if (j>0) //////////////////////
{
for (j;j<=20;j++)
{
y[j]=1;
}
}
//сортировка по убыванию
for (int i = 20 - 1; i >= 1; i--)
for (int l = 0; l < i; l++)
{
if (y[l] < y[l + 1])
{
int f = y[l];
y[l] = y[l + 1];
y[l + 1] = f;
}
}
//Вывод Массива результата
printf("Результат:\n");
for (int i=0; i<20;i++)
{ printf(" %i", y[i]);
i++;
if (i % 5==0) printf("\n");
i--;
}
}////////////
else
{
printf ("Отрицательных элементов в массиве нет");}
getch();
}
Результаты тестирования программы:
Вывод: Язык С имеет три оператора цикла, каждый из которых имеет свои особенности и возможности.