№ теста
|
Ввод элементов массива
|
Ожидаемый результат
|
|
|
Отрицательных элементов
|
Сортированный массив
|
Количество перемещенных
элементов
|
1
|
-1 -2 -3 -4 -5 -6 -7 -8 -9
1
|
9
|
1 -1 -2 -3 -4 -5 -6 -7 -8
-9
|
1
|
2
|
-1 -2 3 4 5 6 -7 -8 9 1
|
4
|
3 4 5 6 9 1 -1 -2 -7 -8
|
6
|
3
|
-1 -2 3 -4 -5 6 -7 -8 9 1
|
6
|
3 6 9 1 -1 -2 -4 -5 -7 -8
|
4
|
4
|
-1 2 3 4 5 6 7 8 9 -1
|
2
|
2 3 4 5 6 7 8 9 -1 -1
|
8
|
3. Код программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <windows.h>
#include <time.h>main ()
{(LC_CTYPE, "rus");const max_size =
100;mas[max_size], *p, *p1;mas2[max_size], *h;size;= p1 = &mas[max_size];=
&mas2[max_size];("Введите размер массива: ");(scanf("%i",
&size) != 1 || size == 0 || size > 100)
{("Ошибка! Введите корректные данные:
");stdin;
}menu;("Меню\n1 - Для ручного ввода массива\n2 -
Для рандомного ввода массива\nПоле ввода: ");(scanf("%i",
&menu) != 1 || menu >= 3 || menu <= 0)
{("Ошибка! Введите корректные данные:
");stdin;
}(menu)
{1: printf("Введите элементы массива: ");((p =
&mas[0]) && (h = &mas2[0]); (p < &mas[size]) &&
(h < &mas2[size]); (p++) && (h++))
{("%i", p);
*h = *p;
};2: srand(time (NULL));a, b;("Ввод начала
диапазона: ");(scanf("%i", &a) != 1 || a == 0)
{("Ошибка! Введите корректные данные:
");stdin;
}("Ввод конца диапазона:
");(scanf("%i", &b) != 1 || b == 0)
{("Ошибка! Введите корректные данные:
");stdin;
}((p = &mas[0]) && (h = &mas2[0]); (p
< &mas[size]) && (h < &mas2[size]); (p++) &&
(h++))
{
*p = rand()%(b - a + 1) + a;
*h = *p;
}("Элементы массива: ");(p = &mas[0]; p
< &mas[size]; p++)("%i ", *p);("\n");;
}sum = 0;(p = &mas[0]; p < &mas[size]; p++)
{(*p < 0)
{++;
}
}("Количество отрицательных элементов: %i\n",
sum);(sum == 0)
{("Отрицательных элементов нет, сортировка не
требуется.\n");("pause");0;
}("\n");("Сортированый массив");kol
= 0, kol2 = 0;k;(p = &mas[0]; p < &mas[size]; p++)(p1 = &mas[0];
p1 < &mas[size-1]; p1++)(*p1 <= 0 & *(p1+1) > 0)
{= *p1;
*p1 = *(p1+1);
*(p1+1) = k;
}(p = &mas[0]; p < &mas[size]; p++)(*p >
0)++;((p = &mas[0]) && (h = &mas2[0]); (*p < (kol+1))
&& (*h < (kol+1)); (p++) && (h++))(*h == *p)++;= kol -
kol2;("\nКоличество перемещенных элементов: %i",
kol);("\n");("Элементы массива: ");(p = &mas[0]; p <
&mas[size]; p++)("%i ",
*p);("\n");("pause");0;
4. Результат работы программы
Таблица 2
№ теста
|
Ввод элементов массива
|
Ожидаемый результат
|
Вывод
|
|
|
Отрицательных элементов
|
Сортированный массив
|
Перемещенных элементов
|
|
1
|
-1 -2 -3 -4 -5 -6 -7 -8 -9
1
|
9
|
1 -1 -2 -3 -4 -5 -6 -7 -8
-9
|
1
|
Тест пройден
|
2
|
-1 -2 3 4 5 6 -7 -8 9 1
|
4
|
3 4 5 6 9 1 -1 -2 -7 -8
|
6
|
Тест пройден
|
3
|
-1 -2 3 -4 -5 6 -7 -8 9 1
|
6
|
3 6 9 1 -1 -2 -4 -5 -7 -8
|
4
|
Тест пройден
|
4
|
-1 2 3 4 5 6 7 8 9 -1
|
2
|
2 3 4 5 6 7 8 9 -1 -1
|
8
|
Тест пройден
|
Рис. 3
5. Вывод о работоспособности программы
Программа прошла тестирование: в результате выполнения тестов программа
выдала ожидаемые результаты. Программа - работоспособна.