Нужна , нужно написать подпрограмму на языке си, которая
находит номер первого столбца таблицы, для которого скалярное произведение на заданный вектор минимально.
вот мой код, но там какая - то ошибка, исправить:
const int rows = 100, cols = 100; //максимальный размер массва 100х100
double a[rows][cols];
double table = a[rows][cols];
bool scal(double & table, int n, int m, int & n)
{
//подпрограмма находит номер первого столбца таблицы, для которого скалярное произведение на заданный вектор минимально;
//входные параметры: table - двумерный статический массив вещественных чисел;
// n, m - количество строк и столбцов таблицы;
// выходной параметр: n - искомый номер столбца.
// функция возвращает true - если результат найден
// false - если размеры заданы некорректно, в этом случае n - неопределено
double vec[rows];
int i, j;
double s = 0, t;
bool er = false;
setlocale(lc_all, "rus");
srand(time(null));
printf("заданный вектор: ");
for (i = 0; i < n; i++) {
vec[i] = rand();
printf("%lf ", vec[i]); //задаём координаты вектора псевдослучайными числами
}
for (j = m - 1; j> =0; --j) { //проверяем столбцы таблицы, начиная с последнего
for (i = 0; i < n; i ++)
s += a[i][j] * vec[i]; //считаем скалярное произведение столбца массива на заданный вектор
if (j = m - 1) {
n = m - 1;
t = s;
s = 0;
}
else {
if (s < t) //если скалярное произведение данного столбца на вектор меньше чем произведение предыдущего, присваиваем переменной n номер этого столбца
n = j;
t = s; //присваиваем переменной t произведение данного столбца на вектор для дальнейшнго сравнения
s = 0;
} //переменную s зануляем, чтобы посчитать произведение следующего столбца на вектор
}
if (n > 0 || m > 0 || n < = rows || m < = cols) er = true; //проверка входных параметров на допустимость
return er;
}
189
227
Ответы на вопрос:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Лиопольд12.07.2022 10:37
-
trjg456isa13.10.2021 15:46
-
саша429027.07.2022 22:34
-
LRM99991908.12.2020 04:31
-
Влад111111111111112112.05.2020 16:05
-
GrinnySmith02.06.2022 14:32
-
ES201704.05.2020 03:27
-
Soos1111112.11.2021 05:41
-
карина202919.07.2020 19:46
-
SANNIKOVDIMA15.04.2020 13:51
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.