Привет, ребят. Если кто знает, помогите с маленькой программкой. Дан массив вещественных случайных чисел (размер массива определяет пользователь, но в диапазоне [3;20]). Определить произведение и результат деления всех чисел массива. Программа готова, но хотелось бы избавиться от goto! Вот код программы:
#include
#include
#include
void main(void)
{
double *a, P=1, D=1;
int n, i;
clrscr();
printf(» ————————————————————————--\n»);
printf(» Program for determination of the product and quotient of all numbers array\n»);
printf(» by dimensionality from 3 before 20\n»);
printf(» ————————————————————————--\n\n»);
printf(«Enter amount of the number from 3 before 20 n=»);
scanf(«%d»,&n);
if (n>20)
{
printf(«\nToo much elements\n»);
goto end;
}
if (n<3)
{
printf(«\nToo little elements\n»);
goto end;
}
a=(double*)malloc(n*sizeof(double));
for (i=0; i
{
printf(«a[%d]=»,i+1); scanf(«%lf»,&a);
if (a==0)
{
printf(«\n The Product P=%f»,a);
printf(«\n The Quotient to get impossible, since on zero to divide it is impossible!»);
goto end;
}
P=P*a;
D=D/a;
}
printf(«\n The Product P=%lf»,P);
printf(«\n The Quotient D=%.10lf»,D);
end:
printf(«\n\n Press any key to exit»);
free(a);
getch();
}
Подскажите пожалуйста: Как избавиться от goto??? Зарание спасибо!
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
do
{
if(end)
{
break;
}
}while(false);
Например так.
Щас я кончу ржать, и че-нить напишу…
Щас….
А ты в школе немецкий учишь, да?
Щас, еще десять секунд….
Все. Я успокоился.
1. Вместо malloc’a лучше использовать calloc в данном случае.
2. Тебе надо посчитать произведение P всех элементов и число 1/P?
А почему бы тебе так и не сделать, зачем делить на каждый элемент?
3. Если введен ноль, вычисления и ввод надо прервать? Или все равно надо дождаться окончания ввода?
Проще всего (это не самый оптимальный вариант, это лишь минимальная коррекция твоей рограммы)
Good Luck,
UT
После этого поста я тоже поржал. Саму программу не смотрел.
.