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

Создание массива (перевод с С на C#)

24.12.2012, 15:59. Показов 951. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана целочисленная матрица A(N,M) (N,M<=10).
Построить по ней целочисленный массив В, присвоив его k-y элементу значение 1,
если k-я строка матрицы А симметрична
(т.е. первый элемент равен последнему, второй - предпоследнему и т.д.),
и 0 - в противном случае

На си Дана целочисленная матрица A(N,M) (N,M<=10). Построить по ней целочисленный массив В, присвоив его k-y элементу значение 1, если k-я строка матрицы
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2012, 15:59
Ответы с готовыми решениями:

Перевод массива комплексных чисел в массив float. Инициализация двумерного массива
Здравствуйте! Начал осваивать python и никак не могу разобраться. Есть массив list, состоящий из n...

Перевод из Delphi в C++. Создание теста.
Перевожу программу из Delphi в C++, код элементарноVar Left_N : Integer; // Отступ слева верхней...

Динамическое создание элементов управления (перевод с C#)
TextBox txtN; TextBox m; Button Stop1; TextBox nameM; txtN = new...

Создание и запись данных в CSV файл - перевод с C#
Привет) Помогите плиз перевести проект из С# в С++. Я на С# то написал все это с гуглом, а...

15
63 / 63 / 0
Регистрация: 07.10.2012
Сообщений: 165
24.12.2012, 22:51 2
А в чем проблема перевода на c#??? При условии,что у вас есть полностью рабочий код на c... Не понимаю, или это модератор добавил ссылку на подобную тему?
0
2 / 2 / 0
Регистрация: 07.12.2012
Сообщений: 28
24.12.2012, 22:56  [ТС] 3
Затрудняюсь в переводе с Си на с#(Сам нашел тему)
0
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
24.12.2012, 23:51 4
Цитата Сообщение от E_x Посмотреть сообщение
А в чем проблема перевода на c#???

Не по теме:

проблема в том, что он не знает ни cи, ни c#, ни каких либо других языков вообще

0
Почетный модератор
21415 / 9150 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
25.12.2012, 16:35 5
Людям свойственно чего-то не знать


E_x, представьте, что Вы учитесь на тракториста, а Вас заставляют играть на скрипке.
То, что программирование - легкое занятие, сел и написал, не считают даже матерые программеры (они начинают вспоминать свои "первые" коды)
Для студента это темнейший лес, и не он его себе включил в программу обучения.

Так что просьба или говорить по делу, или вообще проходить мимо.
0
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
25.12.2012, 17:29 6
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
Console.Write("N = ");
int n = int.Parse(Console.ReadLine());
Console.Write("M = ");
int m = int.Parse(Console.ReadLine());
int[,] matrix = new int[n, m];
int[] arr = new int[n];
for(int i = 0; i != n; i++)
    for(int j = 0; j != m; j++)
    {
        Console.Write("Matrix[{0}, {1}] = ", i, j);
        matrix[i, j] = int.Parse(Console.ReadLine());
    }
for(int i = 0; i != n; i++)
{
    bool flag = true;
    for(int j = 0; flag && j != m / 2; j++)
        if(matrix[i, j] != matrix[i, m - j - 1])
            flag = false;
    if(flag) arr[i] = 1;
    else arr[i] = 0;
}
Console.WriteLine("Результат:");
for(int i = 0; i != n; i++)
    Console.Write("{0}\t", arr[i]);
Console.ReadKey(true);
1
63 / 63 / 0
Регистрация: 07.10.2012
Сообщений: 165
25.12.2012, 19:10 7
Цитата Сообщение от Памирыч Посмотреть сообщение
Людям свойственно чего-то не знать


E_x, представьте, что Вы учитесь на тракториста, а Вас заставляют играть на скрипке.
То, что программирование - легкое занятие, сел и написал, не считают даже матерые программеры (они начинают вспоминать свои "первые" коды)
Для студента это темнейший лес, и не он его себе включил в программу обучения.

Так что просьба или говорить по делу, или вообще проходить мимо.
Я сказал это к тому, что людей, без первоначальных навыков не заставят писать программу на неизвестном им языке. По крайней мере в нашем городе в институтах не так(да и в колледжах). Базовые знания достаточны для того,чтобы понять,что синтаксис похож, и исправить нужно только вывод(вместо printf использовать console.writeline)..
Плюс ко всему, считаю, что эффективной методикой обучения является наведение на мысль, а не выдача готового решения. Когда человек пытается сам понять все,ему делают "наводку",он приходит к верному решению - он будет это знать! А когда скатал уже готовое решение, увы, в голове ничего не останется..

p.s. я из лучших побуждений все это делаю, никаких "задних" мыслей.
0
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
25.12.2012, 20:24 8
Цитата Сообщение от E_x Посмотреть сообщение
считаю, что эффективной методикой обучения является наведение на мысль, а не выдача готового решения
Согласен полностью.
Но как сказал один мой преподаватель из универа: "Я пытался по началу у всех жёстко принимать лабы, требовать чтобы сами делали и т.д. Потом я осознал, что кому нужно - те сами разберутся."
И принимает он у многих такой левак, что просто не описать словами. Так вот я к чему веду: если человеку это нужно, но не получается, то он сбросит наработки свои и задаст вопрос более конкретно. В этом случае помощь советом самое оно. А если ему не нужно(пусть даже он учится на программиста) то вопрос ставится примерно в таком виде как здесь. Написать многие подобные задачи много времени не отнимает. Так почему-бы и не помочь?
0
nio
25.12.2012, 23:11
  #9

Не по теме:

Цитата Сообщение от Fler Посмотреть сообщение
И принимает он у многих такой левак, что просто не описать словами.
таких преподов в шею гнать нужно. Он таких "специалистов" пропускает, а в результате у них точно такой диплом, как и у тех, кто сам разобрался. А потом мы удивляемся откуда у нас руководители безмозглые и правительство тупое (а к врачам я вообще боюсь ходить) .... а потому, что такие преподы в свое время поленились какого-то оленя за незнание отчислить... :ireful:

0
2 / 2 / 0
Регистрация: 07.12.2012
Сообщений: 28
26.12.2012, 01:34  [ТС] 10
Цитата Сообщение от Fler Посмотреть сообщение
for(int j = 0; flag && j != m / 2; j++)
Не понятно,почему в проверке на симметрию кол-во столбцов делится на 2?
0
2 / 2 / 0
Регистрация: 07.12.2012
Сообщений: 28
26.12.2012, 01:52  [ТС] 11
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
        private void button1_Click(object sender, EventArgs e)
        {
            dataGridView1.RowCount = Convert.ToInt32(numericUpDown1.Value.ToString());
            dataGridView1.ColumnCount = Convert.ToInt32(numericUpDown2.Value.ToString());
            dataGridView2.RowCount = 1;
            dataGridView2.ColumnCount = Convert.ToInt32(numericUpDown2.Value.ToString());
 
            for (int i = 0; i < dataGridView1.ColumnCount; i++)
                dataGridView1.Columns[i].Width = 50;
            Random rnd = new Random();
            for (int i = 0; i < dataGridView1.RowCount; i++)
                for (int j = 0; j < dataGridView1.ColumnCount; j++)
                    dataGridView1.Rows[i].Cells[j].Value = rnd.Next(2);
        
           }
 
        private void button2_Click(object sender, EventArgs e)
        {
 
            int m = dataGridView1.RowCount;
            int n = dataGridView1.ColumnCount;
            int[,] K = new int[m, n];
            int [] L = new int[n];
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                
                    K[i, j] = Convert.ToInt32(dataGridView1.Rows[i].Cells[j].Value);
            }
                for (int i = 0; i < n; i++)
                {
                    bool flag = true;
                    for (int j = 0; flag && j != m / 2; j++)
                        if (K[i, j] != K[i, m - j - 1])
                            flag = false;
                    if (flag) L[i] = 1;
                    else L[i] = 0;
                
                dataGridView2.Rows[0].Cells[i].Value = L[i];
                }
Моя переделка под Forms, есть к чему придраться?Вроде работает правильно
Миниатюры
Создание массива (перевод с С на C#)   Создание массива (перевод с С на C#)  
0
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
26.12.2012, 07:18 12
Цитата Сообщение от Slife Посмотреть сообщение
есть к чему придраться?
конечно есть
1) Зачем использовать двойное преобразование?
C#
1
Convert.ToInt32(numericUpDown1.Value.ToString())
если одного вполне достаточно
C#
1
Convert.ToInt32(numericUpDown1.Value)
или так
C#
1
(int)numericUpDown1.Value
2) Это
C#
1
dataGridView1.Rows[i].Cells[j].Value =
можно заменить на это
C#
1
dataGridView1[j,i].Value =
3) в методе button2_Click не предусмотрена ситуация отсутствия данных в dataGridView1

4) дизайн ужасен
1
21 / 20 / 3
Регистрация: 10.11.2012
Сообщений: 240
Записей в блоге: 1
26.12.2012, 09:54 13
Цитата Сообщение от nio Посмотреть сообщение

Не по теме:


таких преподов в шею гнать нужно. Он таких "специалистов" пропускает, а в результате у них точно такой диплом, как и у тех, кто сам разобрался. А потом мы удивляемся откуда у нас руководители безмозглые и правительство тупое (а к врачам я вообще боюсь ходить) .... а потому, что такие преподы в свое время поленились какого-то оленя за незнание отчислить... :ireful:

Не по теме:


Частично вы правы в плане выдачи дипломов, это да! То что в больницу страшно ходить это тоже да! Но то что преподов таких надо гнать это нет, поясню.
Есть "человеки" которые не хотят сдавать какой нибудь предмет, соответственно они платят, либо мало либо много, но в любом случае платят ему, если он неподкупный(единицы таких в россии) подкупают классного руководителя чтобы он пошел "поговорить" с тем преподом и в любом случае получают зачет. В итоге от "жестких" преподов страдают люди которые не могут купить зачет, а вы прекрасно знаете что есть такие преподы "типа boolean" которые ставят зачет если ты знаеш идеально, хорошо их не устраивает.
И отчисляют только для показухи, обычно предварительно намекают на денеФки.

0
2 / 2 / 0
Регистрация: 07.12.2012
Сообщений: 28
26.12.2012, 10:27  [ТС] 14
Цитата Сообщение от nio Посмотреть сообщение
3) в методе button2_Click не предусмотрена ситуация отсутствия данных в dataGridView1
4) дизайн ужасен
3)На numericUpDown1 стоит ограничение от 2,на numericUpDown2 от 2 до 10.
4)Дизайн мне не особо важен
0
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
26.12.2012, 13:53 15
Цитата Сообщение от Slife Посмотреть сообщение
На numericUpDown1 стоит ограничение от 2,на numericUpDown2 от 2 до 10.
а если пользователь не нажмет кнопку "Сформировать", а сразу тыкнет в "Решить"?
0
2 / 2 / 0
Регистрация: 07.12.2012
Сообщений: 28
26.12.2012, 15:20  [ТС] 16
Цитата Сообщение от nio Посмотреть сообщение
а если пользователь не нажмет кнопку "Сформировать", а сразу тыкнет в "Решить"?
C#
1
2
3
4
5
6
7
8
9
        private void button1_Click(object sender, EventArgs e)
        {
            dataGridView1.RowCount = Convert.ToInt32(numericUpDown1.Value.ToString());
            dataGridView1.ColumnCount = Convert.ToInt32(numericUpDown2.Value.ToString());
            dataGridView2.RowCount = 1;
            dataGridView2.ColumnCount = Convert.ToInt32(numericUpDown2.Value.ToString());
            for (int i = 0; i < dataGridView1.RowCount; i++)
                for (int j = 0; j < dataGridView1.ColumnCount; j++)
                    dataGridView1.Rows[i].Cells[j].Value = 0;
Переделал на ручной ввод чисел, если тыкнуть решить - все строки в 0,вся матрица симметрична
0
26.12.2012, 15:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2012, 15:20
Помогаю со студенческими работами здесь

Строки. Создание, объявление и компановка. Перевод из string в char[]
Здравствуйте! У меня возникла проблема при создании строки. Суть задачи: есть несколько...

Перевод денег ООО - как заплатить за создание сайта
Всем привет. Вопрос думаю не совсем по теме, но думаю есть люди, которые в этом разбираются....

перевод массива vb на с++
Здравствуйте! Помогите перевести вот такой код: mas((i+1) And (i+2), j) = 1;

Создание Массива который выводит ширину и высоту ячейки заданного массива
Ребят как это осуществить ?


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

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

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