лабы / лаба 3 инфа
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра Вычислительной техники
отчет
по лабораторной работе №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