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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2011, 03:53   #1
lola1990
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 18
По умолчанию программирование на c#

Написать программу, осуществляющую ввод и обработку целочисленных квадратных матриц по заданной формуле.
В программе должны выполняться:
сложение,
вычитание,
умножение,
При возникновении ошибок должны выводиться соответствующие сообщения.
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите размерность матрицы");
            int column = Convert.ToInt16(Console.ReadLine());
            int line = column;
            if (column > 10)
            {
                column = 10;
                line = 10;
                Console.WriteLine("Размерность больше допустимого предела,\n массиву присвоена размерность 10");
            }
            int[,] array = new int[line, column];
            for (int j = 0; j < line; j++)
            {
                for (int i = 0; i < column; i++)
                {

                    Console.Write("Введите элемент массива с индексом:");
                    Console.Write(j + 1);
                    Console.Write(",");
                    Console.WriteLine(i + 1);
                    int element = Convert.ToInt16(Console.ReadLine());
                    array[j, i] = element;
                    element = 0;
                }
            }
            Console.WriteLine();
            for (int j = 0; j < line; j++)
            {
                for (int i = 0; i < column; i++)
                {
                    Console.Write(array[j, i]);
                    Console.Write("   ");
                }
                Console.WriteLine();




            }
            Console.WriteLine("Для продолжения заполнения второй матрицы нажмите Enter");
            Console.ReadLine();


            int[,] array2 = new int[line, column];
            for (int j = 0; j < line; j++)
            {
                for (int i = 0; i < column; i++)
                {

                    Console.Write("Введите элемент массива с индексом:");
                    Console.Write(j + 1);
                    Console.Write(",");
                    Console.WriteLine(i + 1);
                    int element = Convert.ToInt16(Console.ReadLine());
                    array2[j, i] = element;
                    element = 0;
                }
            }
            Console.WriteLine();
            for (int j = 0; j < line; j++)
            {
                for (int i = 0; i < column; i++)
                {
                    Console.Write(array2[j, i]);
                    Console.Write("   ");
                }
                Console.WriteLine();


            }
lola1990 вне форума Ответить с цитированием
Старый 17.10.2011, 03:54   #2
lola1990
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 18
По умолчанию

продолжение
Код:
            Console.Write("Введите знак операции, которую необходимо провести с матрицами:\n 1 - сложение \n 2 - вычитание \n 3 - умножение");
            int operation = Convert.ToInt16(Console.ReadLine());
            int[,] array3 = new int[line, column];
            switch (operation)
            {
                case 1:                       //Сложение

                    for (int j = 0; j < line; j++)
                    {
                        for (int i = 0; i < column; i++)
                        {
                            array3[j, i] = array2[j, i] + array[j, i];
                            Console.Write("   ");
                        }

                    }
                    for (int j = 0; j < line; j++)
                    {
                        for (int i = 0; i < column; i++)
                        {
                            Console.Write(array3[j, i]);
                            Console.Write("   ");
                        }
                        Console.WriteLine();


                    }
                    break;
                case 2:                         //Вычитание

                    for (int j = 0; j < line; j++)
                    {
                        for (int i = 0; i < column; i++)
                        {
                            array3[j, i] = array2[j, i] - array[j, i];
                            Console.Write("   ");
                        }

                    }
                    for (int j = 0; j < line; j++)
                    {
                        for (int i = 0; i < column; i++)
                        {
                            Console.Write(array3[j, i]);
                            Console.Write("   ");
                        }
                        Console.WriteLine();


                    }
                    break;
                case 3:                       //Перемножение
                    int multiplication = 0;
                    for (int i = 0; i < line; i++)
                    {
                        for (int k = 0; k < column; k++)
                        {
                            multiplication = 0;
                            for (int j = 0; j < line; j++)
                            {
                                multiplication += array[i, k] * array2[k, j];
                            }
                            array3[i, k] = multiplication;


                        }

                    }

                    Console.WriteLine();
                    for (int j = 0; j < line; j++)
                    {
                        for (int i = 0; i < column; i++)
                        {
                            Console.Write(array3[j, i]);
                            Console.Write("   ");
                        }
                        Console.WriteLine();


                    }
                    break;
                default:
                    Console.WriteLine("Вы ввели неправильные данные, программа завершает работу.");
                    break;
            }
            Console.ReadLine();
        }
    }
}
вот вроде все правильно но на консоль криво выводит
lola1990 вне форума Ответить с цитированием
Старый 17.10.2011, 04:37   #3
Lasur
Форумчанин
 
Аватар для Lasur
 
Регистрация: 13.10.2011
Сообщений: 143
По умолчанию

Как именно криво? Скинь скрин и/или объясни что не нравится.
Все имена, фамилии, ники, даты и события упоминаемые в моих постах, являются вымышленными. Все совпадения с реально существующими - случайны.
Lasur вне форума Ответить с цитированием
Старый 17.10.2011, 09:28   #4
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Я выделил жирным то что мне кажется лишним
Код:
 switch (operation)
            {
                case 1:                       //Сложение

                    for (int j = 0; j < line; j++)
                    {
                        for (int i = 0; i < column; i++)
                        {
                            array3[j, i] = array2[j, i] + array[j, i];
                            Console.Write("   ");
                        }

                    }
                    for (int j = 0; j < line; j++)
                    {
                        for (int i = 0; i < column; i++)
                        {
                            Console.Write(array3[j, i]);
                            Console.Write("   ");
                        }
                        Console.WriteLine();


                    }
                    break;
                case 2:                         //Вычитание

                    for (int j = 0; j < line; j++)
                    {
                        for (int i = 0; i < column; i++)
                        {
                            array3[j, i] = array2[j, i] - array[j, i];
                            Console.Write("   ");
                        }

                    }
                    for (int j = 0; j < line; j++)
                    {
                        for (int i = 0; i < column; i++)
                        {
                            Console.Write(array3[j, i]);
                            Console.Write("   ");
                        }
                        Console.WriteLine();


                    }
                    break;
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование или web-программирование? Дмитрий Батогов Помощь студентам 3 23.06.2011 14:14
программирование Asell Помощь студентам 0 26.04.2011 14:19
Программирование в C Моркковь!) Помощь студентам 2 03.03.2011 12:57
программирование на си фамил Общие вопросы C/C++ 3 31.05.2008 20:03