kim-1971
?>

Нужна , нужно написать подпрограмму на языке си, которая находит номер первого столбца таблицы, для которого скалярное произведение на заданный вектор минимально. вот мой код, но там какая - то ошибка, исправить: 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; }

Информатика

Ответы

agafonovalyudmila346
Var a: array of integer;
n, sum, max: integer;
 
begin
   sum:=0;
   write('Введите натуральное число n: ');
   readln(n);
   a := new integer[n];
 
  write('Введите действительные числа: ');
  for var i:=0 to a.Length-1 do
    read(a[i] );
   
  write('Сумма равна: ');
  for var i:=0 to a.Length-1 do
    sum:=sum+a[i];
  writeln(sum);  
 
  write('Максимальный элемент равен: ');
  max := a[0];
  for var i:=0 to a.Length-1 do
    if a[i]>max then
    begin
      max := a[i];
    end;
  writeln(max);
 
  write('S = (А1+ А2+ …,+ Аn) + max (А1, А2, …, Аn) = ');
  sum:=sum+max;
  write(sum);
 
end.
KovalenkoIL

#include <iostream>

using namespace std;

int main(){

int number = 0;

cout << "Enter the month number: ";

cin >> number;

if ((number >= 1) and (number <= 12)){

 if (number < 8){

  if (number % 2 != 0){

   cout << "31 days";

  }else if((number % 2 == 0) and (number != 2)){

   cout << "30 days";

  }else if(number == 2){

   cout << "28 days";

  }

 }else if (number > 7){

 if (number % 2 != 0){

  cout << "30 days";

 }else if(number % 2 == 0){

  cout << "31 days";

  }

 }

}else{

 cout << "Please enter a valid number";

}

return 0;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Нужна , нужно написать подпрограмму на языке си, которая находит номер первого столбца таблицы, для которого скалярное произведение на заданный вектор минимально. вот мой код, но там какая - то ошибка, исправить: 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; }
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

stmr29
fixer2006
andreevaalisa
Шиловский126
Марюк-Мубариз
ktatarinova
palosik7621
Kulikovvl9
abakas235
xsmall1
mgrunova3966
razumeiko0790
Erikhovich
НосовЖелиховская
nrostovtseva142