Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабы / лаба 3 инфа

.docx
Скачиваний:
1
Добавлен:
05.01.2021
Размер:
106.94 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра Вычислительной техники

отчет

по лабораторной работе №3

по дисциплине «Введение в информационные технологии»

Студент гр. 9494

Лобазев Н. А.

Преподаватель

Гречухин М. Н.

Санкт-Петербург

2020

Оглавление

Цель работы 2

Блок-схема 3

Протокол 4

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

Цель работы

Ввести число, затем массив целых чисел, количество которых заранее неизвестно. Признаком окончания ввода массива является количество смен знака в массиве сверх введённого числа. Если количество элементов в массиве нечётное, удалить предпоследний элемент. Переставить элементы в первой половине массива в обратном порядке. Вывести массив.

Блок-схема

Протокол

#include <stdio.h>

#include <stdlib.h>

int main() {

system("cls");

int x[MN];

int k;

printf(" Indicate the maximum number of sign changes: ");

scanf("%d", &k);

int m = 0;

int n = 0;

printf(" Enter numbers, exit - the number of sign changes is greater than %d\n",k);

while (m <= k)

{

scanf("%d", &x[n]);

n++;

if (n > 1) {

if (x[n - 2] * x[n - 1] < 0) {

m++;

}

}

}

if (n % 2 != 0) {

x[n - 2] = x[n - 1];

n--;

}

for (k = 0; k < n / 4; k++) {

m = x[k];

x[k] = x[n / 2 - k - 1];

x[n / 2 - k - 1] = m;

}

printf(" Converted array: \n");

for (k = 0; k<n; k++) {

printf("%d ", x[k]);

}

printf("\n");

system("pause");

return 0;

}

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

Пример 1.

Исходные данные: 6; 1, -2, 3, -4, 5, -6, 7

Ожидаемый результат: 3, -2 , 1, -4, 5 , 7

Пример 2.

Исходные данные: 6; 1, -2, 3, -4, 5, -6, 7, -8

Ожидаемый результат: -4, 3, -2 , 1, 5 ,-6, 7, -8

Пример 3.

Исходные данные: 2; -5; 8; 9; 7; -4; -9; 5

Ожидаемый результат: 9; 8; -5; 7; -4; 5

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