0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 23
1

Для каждого столбца найти произведение элементов с номерами от k1 до k2 и записать данные в новый массив

14.12.2011, 13:59. Показов 3190. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте) Не могли бы Вы помочь мне с задачкой...
Для каждого столбца найти произведение элементов с номерами от k1 до k2 и записать данные в новый массив. Для хранения массив nхn использовать ступенчатый массив.
То есть, если вводиться размерность, например n=3, вводим элементы, предположим получается такая матрица:
2 3 4
1 4 6
6 4 1
Ввводим k1 и k2. Например k1=1, k2=2. В итоге должен получится массив: 2 12 24
Я не много накалякала, но не могу разобраться со ступенчатым массивом.
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication4
{
    class Class
    {
        static int[][] Input()
        {
            Console.WriteLine("Введите размерность массива");
            Console.Write("n = ");
            int n = int.Parse(Console.ReadLine());
            int[][] a = new int[n][];
            for (int i = 0; i < n; ++i)
            {
                a[i] = new int[n];
                for (int j = 0; j < n; ++j)
                {
                    Console.Write("a[{0},{1}]= ", i, j);
                    a[i][j] = int.Parse(Console.ReadLine());
                }
            }
            return a;
        }
        static void Print1(int[] a)
        {
            for (int i = 0; i < a.Length; ++i)
                Console.Write("{0,5} ", a[i]);
        }
        static void Print2(int[][] a)
        {
            for (int i = 0; i < a.Length; ++i, Console.WriteLine())
                for (int j = 0; j < a[i].Length; ++j)
                    Console.Write("{0,5} ", a[i][j]);
        }
 
        static int [] Pro(int[,] a, int k1, int k2)
        {
            int n = a.GetLength(0);
            int[] pro = new int[n];
            for (int i = 0; i < n; i++)
            {
                pro[i] = 1;
                for (int j = k1; j <= k2; j++)
                {
                    pro[i] *= a[j,i];
                }
            }
            return pro;
        }
        static void Main()
        {
            Console.Write("k1=");
            int k1 = int.Parse(Console.ReadLine());
            Console.Write("k2=");
            int k2 = int.Parse(Console.ReadLine());
            int[] [] myArray = Input();
            Console.WriteLine("Исходный массив:");
            Print2(myArray);
            int[] rez = new int[myArray.Length];
            for (int i = 0; i < myArray.Length; ++i)
                rez[i] = Pro (myArray[i]); 
            Console.WriteLine("Новый массив:");
            Print1(rez);
            Console.ReadKey();
        }
    }
}
Помогите пожалуйста...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2011, 13:59
Ответы с готовыми решениями:

Подсчитать произведение элементов каждого столбца и записать данные в новый массив
Подсчитать произведение элементов каждого столбца и записать данные в новый массив. Найти...

Подсчитать произведение элементов каждого столбца матрицы и записать данные в новый массив
Дан массив размером n×n, элементы которого целые числа.Подсчитать произведение элементов каждого...

Для каждого столбца найти номер первой пары одинаковых элементов. Данные записать в новый массив
Здравствуйте, помогите пожалуйста подкорректировать программу на C#. Не могу её доделать. Нужно...

Для каждого столбца посчитать сумму чётных положительных элементов и записать данные в новый массив
Сделайте пожалуйста через static void Main. Чтоб было нормально.

1
0 / 0 / 3
Регистрация: 08.10.2012
Сообщений: 141
11.05.2014, 20:08 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
92
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication
{
    class Class
    {
        static int[,] Input(out int n)
        {
            Console.WriteLine("введите размерность массива");
            Console.Write("n = ");
            n = int.Parse(Console.ReadLine());
            int[,] a = new int[n, n];
            for (int i = 0; i < n; ++i)
                for (int j = 0; j < n; ++j)
                {
                    Console.Write("a[{0},{1}]= ", i, j);
                    a[i, j] = int.Parse(Console.ReadLine());
                }
            return a;
        }
 
        static void Print(int[,] a)
        {
            for (int i = 0; i < a.GetLength(0); ++i, Console.WriteLine())
                for (int j = 0; j < a.GetLength(1); ++j)
                    Console.Write("{0,5} ", a[i, j]);
        }
 
        static void Print(int[] a, int n)
        {
            Console.WriteLine("Новый массив: ");
            for (int i = 0; i < n; ++i)
                Console.Write("{0,5} ", a[i]);
        }
 
        static int[] Chtoto(int[,] a, int n)
        {
            int P = 0;
            int[] ans = new int[n];
            for (int j = 0; j < n;/* ans[j] = P, P = 0,*/ j++)
 
                for (int i = 0; i < n; ++i)
                {
                    if (a[i, j] > 0)
                    {
                        ans[P++] = a[i, j];
                        break;
                    }
                }
 
            return ans;
        }
        static int[] Chtoto(int[,] a, int n, int prop1, int prop2)
        {
            int P = 1;
            int[] ans = new int[n];
            for (int j = 0; j < n; P = 1, j++)
 
                for (int i = 0; i < n; ++i)
                {
                    if ((i >= (prop1 - 1)) && (i <= (prop2 - 1)))
                    {
                        P *= a[i, j];
                    }
                    ans[j] = P;
                }
 
            return ans;
        }
 
        static void Main()
        {
            int n, prop1 = 0, prop2 = 0;
            int[,] myArray = Input(out n);
            int[] AnswerArray = new int[n];
            Console.Write("Введите промежутки: ");
            prop1 = int.Parse(Console.ReadLine());
            prop2 = int.Parse(Console.ReadLine());
 
            Console.WriteLine("Исходный массив:");
            Print(myArray);
            AnswerArray = Chtoto(myArray, n, prop1, prop2);
            Print(AnswerArray, n);
            Console.WriteLine();
            Console.ReadKey();
 
        }
    }
}
0
11.05.2014, 20:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2014, 20:08
Помогаю со студенческими работами здесь

Для каждого столбца подсчитать сумму четных положительных элементов и записать данные в новый массив
Дан массив размером n×n, элементы которого целые числа. Для каждого столбца подсчитать сумму...

Для каждого столбца подсчитать сумму четных положительных элементов и записать данные в новый массив
Дан массив размером n×n, элементы которого целые числа. Для каждого столбца подсчитать сумму...

Для каждого столбца матрицы N*N подсчитать сумму отрицательных элементов и записать данные в новый массив
Тема: двумерный массив. Условие: Дан массив размером n×n, элементы которого целые числа. Для...

Для каждого столбца подсчитать сумму четных положительных элементов и записать данные в новый массив
2)для каждого столбца подсчитать сумму четных положительных элементов и записать данные в новый...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru