Определить сколько может существовать треугольников используя введенные данные - C (СИ)
Формулировка задачи:
Здравствуйте!Суть моей задачи определить сколько может существовать треугольников используя введенные данные(данные=длины отрезков),количество данных от3 до 10000.Какой массив лучше использовать ?
Решение задачи: «Определить сколько может существовать треугольников используя введенные данные»
textual
Листинг программы
int *m;
int n;//кол-во данных
for(;1;)
{
scanf("%d", &n);
if(n<3)
{
printf("i < 3!\nTRY AGAIN\n");
continue;
}
break;
}
m=(int*)malloc(n*sizeof(int));
.....;
.....;
free(m);
Объяснение кода листинга программы
- Объявлена переменная
mтипаint*(указатель на целое число), которая будет использоваться для хранения данных. - Затем объявлена переменная
nтипаint, которая будет использоваться для определения количества данных, которые будут введены. - Далее идет цикл
for, который будет выполняться до тех пор, пока условие1истинно. - Внутри цикла происходит считывание данных с помощью функции
scanf. Введенные данные сохраняются в переменнойn. - Если значение
nменьше 3, то выводится сообщение об ошибке и выполнение цикла продолжается. - Если значение
nбольше или равно 3, то выполняется операцияbreak, которая прерывает выполнение цикла. - После завершения цикла происходит выделение памяти с помощью функции
mallocдля храненияnцелых чисел. - Выделенная память адресуется переменной
m. - Затем в теле программы (которое не показано в вопросе) происходит работа с выделенной памятью.
- После окончания работы с выделенной памятью происходит освобождение памяти с помощью функции
free. - Значение переменной
mбольше не используется, поэтому ее указатель может быть безопасно освобожден.