Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
saintt
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 4
#1

Найти произведение минимальных по модулю элементов столбцов матрицы - C++

16.04.2010, 22:09. Просмотров 498. Ответов 6
Метки нет (Все метки)

Дана действительная матрица размерности M*N. Найти произведение минимальных по модулю элементов ее столбцов и записать это произведение на главную диагональ.
Не знаю как решить, как можно объявить массив после ввода M и N, не знаю чё делать как начать...
Прогу нужно писать на С
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2010, 22:09     Найти произведение минимальных по модулю элементов столбцов матрицы
Посмотрите здесь:

Найти произведение минимальных элементов каждой строки матрицы C++
C++ Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X
C++ Найти произведение элементов массива, расположенных после минимального по модулю элемента
C++ В прямоугольной целочисленные матрицы определить сумму минимальных элементов столбцов
Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
C++ Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
toxa92
167 / 94 / 2
Регистрация: 16.04.2010
Сообщений: 464
16.04.2010, 22:17     Найти произведение минимальных по модулю элементов столбцов матрицы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
начать, я полагаю, нужно с задания массива (например так
C
1
mas[i][j]=rand()%18-9
)
далее, в следующем проходе по массиву нужно поменять местами i и j (
C
1
2
3
4
5
6
for (i=0;i<M;i++)
     for (j=0;j<N;j++)
//тут задается массив
for (j=0;j<N;j++)
     for (i=0;j<M;j++)
//тут ищется 2 минимальных элемента так же как в строке
главная диагональ это когда i=j. не забываем все объявить, обнулить, перед каждым поиском делать переменные, отвечающие за минимальные элементы, больше максимально возможных ну и подобная мелочь
neske
1463 / 830 / 69
Регистрация: 26.03.2010
Сообщений: 2,830
16.04.2010, 22:21     Найти произведение минимальных по модулю элементов столбцов матрицы #3
Как я понял, вы хотите вводить размеры матрицы и только потом ее объявить, и с этим у вас затруднение.
Вам поможет эта тема:
Выделение динамической памяти для двумерного массива.
saintt
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 4
16.04.2010, 22:29  [ТС]     Найти произведение минимальных по модулю элементов столбцов матрицы #4
А чему равно M и N?
toxa92
167 / 94 / 2
Регистрация: 16.04.2010
Сообщений: 464
16.04.2010, 22:33     Найти произведение минимальных по модулю элементов столбцов матрицы #5
если хотите чтобы массив был размером M*N, то необходимо прописать их как константы (после инклюдов добавить
C
1
2
#define N Ваше_значение_N
#define M Ваше_значение_M
Если хотите вводить с клавы - пользуйтесь динамическими двумерными массивами, как до меня уже предложил neske
saintt
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 4
17.04.2010, 14:50  [ТС]     Найти произведение минимальных по модулю элементов столбцов матрицы #6
neske, это выделение памяти на с++, а мне надо на с

Добавлено через 1 минуту
toxa92
Я не знаю как пользоваться динамическим массивом, хотелось бы пример

Добавлено через 16 часов 15 минут
Посмотрите какие здесь ошибки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main (void){
   double *ptd;
   int i,k;
   printf("kol-vo dannyx:");
   scanf("%lf",&ptd);
   ptd=(double*) malloc (i*sizeof(double);
   if(ptd==NULL){
      puts("Sboy v pamyti\n");
      exit(1);
    for(k=0;k<i;k++)
           printf("vvedite %d:",k+1);
      scanf("%lf", &(ptd+k));
    for(k=0;k<i;k++)
           printf(" %.3lf",ptd[k]);
   free(ptd);
return 0;
}
Compiling 5.C:
Error 5.C 10: Function call missing )
Error 5.C 16: Must take address of a memory location
Error 5.C 21: Compound statement missing }
Warning 5.C 21: Function should return a value
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2010, 16:10     Найти произведение минимальных по модулю элементов столбцов матрицы
Еще ссылки по теме:

C++ Вычислить величину Z, которая равняется сумме минимальных элементов массивов, разделенной на двойное произведение индексов минимальных элементов
C++ Матрицы. Найти кубические корни минимальных элементов столбцов и вывести новый массив с этими значениями
C++ Найти количество элементов матрицы, не превосходящих по модулю 5; найти сумму нечётных элементов 3-й строки
Найти произведение элементов массива, расположенные после максимального по модулю элемента C++
C++ Произведение элементов матрицы между максимальным и минимальным по модулю значениями

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
toxa92
167 / 94 / 2
Регистрация: 16.04.2010
Сообщений: 464
17.04.2010, 16:10     Найти произведение минимальных по модулю элементов столбцов матрицы #7
в 10 строке не закрыта скобка
в 16 строке я не знаю что вы хотите получить, но вместо
Цитата Сообщение от saintt Посмотреть сообщение
&(ptd+k)
там должно стоять &какаято_переменная

в 11 строчке открыта скобка операторная и не закрыта

и еще. пользуйте тэги для вставки кода. ужасно лень считать номер строки руками
Yandex
Объявления
17.04.2010, 16:10     Найти произведение минимальных по модулю элементов столбцов матрицы
Ответ Создать тему
Опции темы

Текущее время: 01:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru