Консультация № 159134
29.01.2009, 22:18
0.00 руб.
30.01.2009, 14:24
0 12 1
Здравствуйте, Уважаемые Эксперты! Помогите решить 2 задачи:
1)Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач до Хкон с шагом dX.
F = -ax2 при c < 0 и a != 0
F = (a - x)/cx при c > 0 и a = 0
F = x/c во всех остальных случаях,
где a, b и c – действительные числа.
Значения a, b, c, Хнач, Хкон, dX – ввести с клавиатуры.

2)В одномерном массиве, состоящем из N вещественных элементов, вычислить:
номер минимального элемента массива;
сумму элементов массива, расположенных между первым и вторым отрицательным элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом – все остальные.

Зарание спасибо!

Обсуждение

Неизвестный
29.01.2009, 22:25
общий
[offtop]F = -ax2 при c < 0 и a не= 0[/offtop]
давно
Посетитель
7438
7205
29.01.2009, 23:21
общий
1) Случай С=0 приведет к делению на 0, или как понимать?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
30.01.2009, 07:54
общий
А в условии же нет такого, там только в первом случае F=-a*x^2 при c<0 a!=0
давно
Посетитель
7438
7205
30.01.2009, 09:29
общий
Именно, нет! Зато смотрим и видим:
Если C и A не удовлетворяют первым двум условиям, то тогда третий случай "F = x/c во всех остальных случаях"
Или я неправильно понимаю и у Вас не система функций?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
30.01.2009, 13:05
общий
Вы всё правильно поняли. Поидее так и получается "во все остальных случаях с=0". Нет это не система функций.
давно
Посетитель
7438
7205
30.01.2009, 13:13
общий
Но тогда получается F = x/c = x/0 !!!
Именно это я и хочу у Вас уточнить!
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
30.01.2009, 13:45
общий
Разобрался. Все остальные случаи-это:
С<0 и а=0
С>0 и а!=0
давно
Посетитель
7438
7205
30.01.2009, 14:09
общий
Это, как раз, понятно :)
Я ж говорю о случае C=0, который никак не оговаривается.
Если это запрещенное значение, то так и надо, причем явно, сказать: С!=0
И еще, в условии нигде не используется b. Зачем его вводить?
"Тщательнее надо быть..."(с) Жванецкий
Условие надо формулировать четко. Правильно поставленная задача - это 50% успеха
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
30.01.2009, 14:22
общий
Получается что случай с=0 не рассматривать или прописать что с не должно быть равным 0. А условие задачи я не менял, как говорится за что купил, за то продал
давно
Посетитель
7438
7205
30.01.2009, 14:33
общий
А вникнуть и спросить у преподавателя слабо?
Ладно, ждите решения, по свободе "нарисую"...
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
30.01.2009, 14:39
общий
Да я, просто, учусь на заочном. Преподавателя особо и не поймаешь. Да и вредная она:)
давно
Посетитель
7438
7205
30.01.2009, 16:04
общий
это ответ
Здравствуйте, Попов Андрей Александрович!
Надеюсь, что программа в приложении, решающая первую задачу, устроит Вас.

Приложение:
#include <stdio.h>
#include <conio.h> //для getch()

void main()
{
float a, c, X, Xend, dX, F;

printf("Enter a = "); //вводим переменные
scanf("%g", &a);

do
{
printf("Enter c = ");
scanf("%g", &c);
}while (c == 0); //это плод долгого выяснения случая C=0 - если будет нуль, то повтор запроса

printf("Enter Xbeg = ");
scanf("%g", &X);
printf("Enter Xend = ");
scanf("%g", &Xend);
printf("Enter dX = ");
scanf("%g", &dX);

printf("\n%10s%10s\n","x","F"); //заголовок
for(; X<=Xend; X+=dX) //начальное значение - X уже есть.
{
if (c<0 && a!=0)
F = (-1) * X * X;
else if (c>0 && a==0)
F = (a-X) / (c*X); //странная функция - при а=0 вырождается в -(1/c). И почему нельзя было сразу так написать?
else
F = X / c;
printf("\n%10g%10g", X, F); //X и F
}
printf("\n"); //перевод на новую строку
getch();
}
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа