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

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

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

работа с двумерными массивами - C++

12.12.2011, 13:53. Просмотров 873. Ответов 4
Метки нет (Все метки)

помогите пожалуйста решить задачу.
Дана квадратная матрица размерностью N. Найти минимум из произведений по столбцам.

Добавлено через 51 минуту
C++
1
2
3
4
5
6
s=1
 
for (i=j;n<N;i++)
{
for (i=1;n<N;i++) s=s*A[i][j]
}
я знаю что внутри цикла подсчета столбцов, должно идти действие, то есть строка меняется на 1, в то время как столбец остается неизменным, и каждый элемент умножается друг на друга. Только вот как это в виде кода выразить я не знаю
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2011, 13:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос работа с двумерными массивами (C++):

Ошибка в программе. Работа с двумерными массивами - C++
Задача:Три группы студентов, в каждой из которых 20 человек, в сессию сдавали по 3 экзамена. Сведения об оценках каждой группы хранятся в...

Работа с двумерными массивами ( Определить: количество столбцов, номер строки) - C++
Дана целочисленная прямоугольная матрица. Определить: 1. Количество столбцов, содержащих хотя бы один отрицательный элемент. 2. Номер...

Что делает оператор init в данной ситуации (работа с двумерными массивами) - C++
Есть фрагмент кода C++. const int ROWS = 10, COLUMNS = 10; int matrix; init(&amp;matrix); int temp, sum = 0;

Работа с двумерными числовыми массивами. Использование указателей. Использование функций пользователя. - C++
Помогите пожалуйста!!!!!!! Сделать три варианта: первый вариант – передача данных между функциями с помощью глобального...

Работа с двумерными массивами (Определить произведение элементов в тех строках, которые не содержат нулевых элементов) - C++
Дана целочисленная прямоугольная матрица. Определить: 1. Произведение элементов в тех строках, которые не содержат нулевых элементов

Напряжная задача с двумерными массивами - C++
Создать программу, которая вводит c клавиатуры два двумерных массива целых чисел, перемножает их друг на друга (если это возможно, т.е....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kidasov
77 / 77 / 12
Регистрация: 02.12.2011
Сообщений: 965
Записей в блоге: 3
12.12.2011, 14:42 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream>
#include <cstring>
using namespace std;
 
const int M = 3;     //число строк
const int N = 3;     //число столбцов
 
//Ввод двумерного массива
void input(int **a)
{
  cout<<"input data : \n";
  for (int i=0; i<M; i++)
  {
    for (int j=0; j<N; j++)
      cin>>a[i][j];
  }
  cout<<"\n";
}
 
//Вывод двумерного массива
void output(int **a)
{
  cout<<"Output data: \n";
  for (int i=0; i<M; i++)
  {
    for (int j=0; j<N; j++)
      cout<<a[i][j]<<" ";
    cout<<"\n";
  }
}
 
int sum(int **a)
{
  int Sum = 0;
  for (int i=0; i<M; i++)
  {
    for (int j=0; j<N; j++)
    {
      if (!(i & 1) && (j & 1))
      {
    Sum += a[i][j];
      }
    }
  }
  cout<<"\n";
  return Sum;
}
 
int minColumn(int **a)
{
  int min, multy = 1;
  for (int i=0; i<M; i++)
  {
    multy *= a[i][0];
  }
  min = multy;
  for (int j=0; j<N; j++)
  {
    multy = 1;
    for (int i=0; i<M; i++)
    {
      multy *= a[i][j];
    }
    if (multy < min) min = multy;
  }
  return min;
}
 
//Удаление памяти, выделенной под массив
void del(int **a)
{
  for (int i=0; i<M; i++)
  {
    delete []a[i];
  }
  delete []a;
}
 
int main()
{
  int **a = new int *[M]; //Инициалихация двумерного динамического массива
  for (int i=0; i<M; i++)
  {
    a[i] = new int[N];
  }
  input(a);    //Ввод
  output(a);   //Вывод
  int min = minColumn(a);
  cout<<"Min = "<<min<<"\n";
  return 0;
}
1
meleuz
0 / 0 / 0
Регистрация: 28.09.2011
Сообщений: 40
12.12.2011, 14:58  [ТС] #3
больше вариантов ни у кого нету, да?
0
Tpepost
Сообщений: n/a
12.12.2011, 17:33 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Я только начал изучать C++ и поинтеры пока сложноваты для меня, как раз главу по ним читаю. Представляю свой вариант решения задачи, если конечно я ее понял правильно. А то посмотрел запись выше и ничего не понял Гуру, укажите пожалуйста на ошибки и ткните носом в очевидные изъяны. Спасибо!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <conio.h>
 
 
int main()
{
    int result = 1;
    int max = 0;
    //Двумерный массив и его размер
    const int n = 3;
    const int m = 5;
    int myArray[n][m] = {{6, 2, 3, 4, 5},
                         {2, 2, 3, 10, 5},
                     {1, 2, 3, 4, 5}};
    
 
    //Индексы массива ( с 0 по 4), поэтому начинаем считать с 0
    for (int i = 0; i < m; i++) {   
        for (int j = 0; j < n; j++) 
            
            result *= myArray[j][i];
            
            if (max < result)
                max = result;
        //Присваиваем переменной 1 для нового прогона   
        result = 1;     
    }   
    //Выводим максимальное значение
    std::cout << max << std::endl;
 
    _getch();
    return 0;
}
meleuz
0 / 0 / 0
Регистрация: 28.09.2011
Сообщений: 40
12.12.2011, 20:04  [ТС] #5
Tpepost
1) матрица квадратная, т.е N=M;
2) Надо найти минимум, вы же нашли тут максимум.
а поводу циклов. по-моему , если не ошибаюсь, внутри цикла подсчета столбцов должен идти цикл подсчета строк. элементы же меняются по строкам, сверху вниз
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2011, 20:04
Привет! Вот еще темы с ответами:

Типовые алгоритмы работы с двумерными массивами - C++
Добрый день. Нужна помощь до завтра!Перевести на язык С++\\ просто это походу паскаль. на С++ не могу найти инфу Типовые алгоритмы...

Нужны примеры программ с двумерными массивами - C++
дайте пожалуста пару примеров програм с двумерными массивами

О работе с динамическими двумерными (многомерными) массивами - C++
Всех с наступающим профессиональным праздником, многоуважаемые гуру С++! задачка простая - работа с данными в двумерном динамическом...

Использование функций при работе с двумерными массивами - C++
Дана прямоугольная вещественная матрица . Обнулить все четные столбцы и нечетные строки. В полученной матрице отсортировать по возрастанию...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.12.2011, 20:04
Ответ Создать тему
Опции темы

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