Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.11.2012, 10:57   #1
xq1b
Пользователь
 
Регистрация: 19.10.2011
Сообщений: 32
По умолчанию ВСЕ СЮДА!!!!!!!

Всем привет нужна помощь. Помогите обьяснить программу на С#. Что она делает? Что происходит в каждом действие? Что получаеться на выходе?
Вот текс программы:
Транспонировать матрицу
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;



namespace transpmatrix
{
class Matrix
{
// Матрица, строки, колонки
int[,] matrix;
int mxRows;
int mxCols;

// Инициализация
public Matrix(int nRows, int nCols)
{
mxRows = nRows;
mxCols = nCols;
matrix = new int[nRows, nCols];
}

// Получения числа колонок
public int GetMatrixCols
{
get { return mxCols; }
}

// Получения числа строк
public int GetMatrixRows
{
get { return mxRows; }
}

// Доступ к элементам матрицы
public double this[int i, int j]
{
set { matrix[i, j] = Convert.ToInt16(value); }
get { return matrix[i, j]; }
}
xq1b вне форума
Старый 21.11.2012, 11:03   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Код оформляется тегом CODE.

Данный код не есть код проекта, порождающего исполняемый файл. Это код одного класса, содержащего конструктор и свойства GetMatrixCols, GetMatrixRows и специальную форму свойства для всех "элементов матрицы". Все они делают ровно то, что написано в комментариях к ним.

ВСЕ ОТСЮДА!!!!!!!
Abstraction вне форума
Старый 21.11.2012, 11:04   #3
Anarik
Новичок
Джуниор
 
Регистрация: 21.11.2012
Сообщений: 1
По умолчанию

помогите :написать программу возведения в степень. Nk (1<=N<10000,1<=k<=100). Во входном файле power.in в первой строке записано число N, во второй k. В файл power.out записать результат возведения в степень N в степень k.
Anarik вне форума
Старый 21.11.2012, 11:14   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Anarik,
0) Новые вопросы следует задавать в новых темах, особенно когда с существующей темой они не связаны ничем.
1) См. "длинная арифметика". Следует считать N в искусственное "длинное число" (самое простое - массив байт длиной, скажем, 200) и умножать его само на себя нужное число раз; для умножения придётся писать специальную функцию, см. "умножение в столбик".
Abstraction вне форума
Старый 21.11.2012, 11:30   #5
xq1b
Пользователь
 
Регистрация: 19.10.2011
Сообщений: 32
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Введите столбец исходной матрицы ");
            int N = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Введите строку исходной матрицы ");
            int M = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Исходная матрица" + " " + N + "на" + M);
            //заполнение исходной матрицы
            Console.WriteLine();
            int[,] matrica = new int[N, M];
            Random rnd = new Random();
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < M; j++)
                {
                    matrica[i, j] = rnd.Next(1, 10);
                    Console.Write(matrica[i, j] + " ");



                }
                Console.WriteLine();

            }

            Console.WriteLine("Транспонированная матрица:");
            int[,] Transmatrica = new int[N, M];
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < M; j++)
                {
                    Transmatrica[i, j] = matrica[j, i];
                    Console.Write(Transmatrica[i, j] + " ");



                }
                Console.WriteLine();

            }
            Console.ReadKey();
        }
    }
}
А если так?
xq1b вне форума
Старый 21.11.2012, 11:46   #6
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Сообщение от xq1b Посмотреть сообщение
Код:
//Указание используемых пространств имён
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        //Точка входа в приложение
        static void Main(string[] args)
        {
            //Вывод строки в консоль
            Console.WriteLine("Введите столбец исходной матрицы ");
            //Инициализация числа N введённым текстом
            int N = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Введите строку исходной матрицы ");
            int M = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Исходная матрица" + " " + N + "на" + M);
            //заполнение исходной матрицы
            Console.WriteLine();
            //Создание двумерного массива int-ов размером NxM
            int[,] matrica = new int[N, M];
            //Создание нового "генератора случайных чисел", инициализированного
            //с использованием текущего времени
            Random rnd = new Random();
            //Для i от 0 до N-1
            for (int i = 0; i < N; i++)
            {
                //Для j от 0 до M-1
                for (int j = 0; j < M; j++)
                {
                    //Элемент (i,j) массива matrica инициализируется случайным
                    //числом от 1 до 10
                    matrica[i, j] = rnd.Next(1, 10);
                    //Выводится этот элемент и следом пробел
                    Console.Write(matrica[i, j] + " ");
                }
                //Выводится "перевод строки"
                Console.WriteLine();
            }

            Console.WriteLine("Транспонированная матрица:");
            int[,] Transmatrica = new int[N, M];
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < M; j++)
                {
                    //Элементу (i,j) двумерного массива Transmatrica
                    //присваивается значение элемента (j,i) массива matrica
                    //Это приводит к исключению, если j>=N либо i>=M 
                    Transmatrica[i, j] = matrica[j, i];
                    Console.Write(Transmatrica[i, j] + " ");
                }
                Console.WriteLine();
            }
            //Считывается нажатие произвольной клавиши;
            //пока клавиша не нажата - программа "ждёт"
            Console.ReadKey();
            //Конец работы программы
        }
    }
}
А если так?
Комментарии - в комментариях. Идентичные строки поясняются только первый раз.
Abstraction вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда все!!! ForZash Помощь студентам 0 04.05.2010 17:48