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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2019, 21:06   #11
plktre
Пользователь
 
Регистрация: 09.09.2019
Сообщений: 43
По умолчанию

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

namespace ConsoleApplication35
{
    class Program
    {
        static void Main(string[] args)
        {
            double[,] a = new double[,]

            {
                { 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 
                { 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0, 0 }, 
                { 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0 }, 
                { 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0 }, 
                { 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0,},
                { 0, 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2 }, 
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40 }
            };
            double[] b = new double[] {  82.4 ,  -245.5 ,  -222.8 ,  64.3 ,  -44.1 ,  14.5 ,  -186.1 ,  -45.4 ,  201.6 ,  -57.3 ,  296 ,  169.6 ,  -81.4 ,  82.1 ,  -172.6  };
            Console.WriteLine("Исходный массив:");
            for (int i = 0; i < 15; i++)
            {
                Console.WriteLine("\n");
                for (int j = 0; j < 15; j++)
                {
                    Console.Write(a[i, j] + "\t");
                }
                for (int m = 0; m < 15; m++)
                {
                    Console.Write(b[m] + "\n");
                }
            }
            Console.ReadKey();
        }
    }
}
Я что-то с Console.Write(b[m] + "\n" намудрила? Почему после каждой строчки выводит b.

Последний раз редактировалось plktre; 09.09.2019 в 21:11.
plktre вне форума Ответить с цитированием
Старый 09.09.2019, 21:17   #12
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от plktre Посмотреть сообщение
Код:
            for (int i = 0; i < 15; i++)
            {
                Console.WriteLine("\n");
                for (int j = 0; j < 15; j++)
                {
                    Console.Write(a[i, j] + "\t");
                }
                for (int m = 0; m < 15; m++)
                {
                    Console.Write(b[m] + "\n");
                }
            }
Я что-то с Console.Write(b[m] + "\n" намудрила? Почему после каждой строчки выводит b.
Цикл i повторяете 15 раз. Внутри выводите ваши массивы.
Вот они и выведутся 15 раз.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 10.09.2019, 10:06   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Цикл i повторяете 15 раз
всё так.

смотрите.
если хотите сначала вывести A
потом, отдельно вывести B
тогда так:
Код:
            Console.WriteLine("Исходный массив A:");
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    Console.Write(a[i, j] + "\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine("Исходный массив B:");
            for (int i = 0; i < b.Length ; i++)
            {
                    Console.Write(b[i] + "\t");
             }
             Console.WriteLine();
если же хотите выводить B i-й в конце каждой i-й строки массива A
тогда
Код:
            Console.WriteLine("Исходная система уравнений:");
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    Console.Write(a[i, j] + "\t");
                }
                Console.WriteLine(b[i]);
            }
во втором варианте, по хорошему, можно проверить, чтобы размер массива B (b.Length) был равен количеству строк массива A (a.GetLength(0)) и выдавать ошибку в случае несовпадения.
но, т.к. массивы задаются в коде, то программист сам может за этим следить, поэтому проверка желательна, но не обязательна.

Последний раз редактировалось Serge_Bliznykov; 10.09.2019 в 10:14.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.09.2019, 16:05   #14
plktre
Пользователь
 
Регистрация: 09.09.2019
Сообщений: 43
По умолчанию

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

namespace ConsoleApplication13
{
    class Program
    {
        static void Main(string[] args)
        {
            
            double s = 0;
            double[,] a = new double[,]
            
            {
                { 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 
                { 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0, 0 }, 
                { 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0, 0 }, 
                { 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0, 0 }, 
                { 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0, 0,},
                { 0, 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, 2.2 }, 
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5, 4.4, },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40, 11.5 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.2, 4.4, 11.5, 40 }
            };
            double[] b = new double[] {  82.4 ,  -245.5 ,  -222.8 ,  64.3 ,  -44.1 ,  14.5 ,  -186.1 ,  -45.4 ,  201.6 ,  -57.3 ,  296 ,  169.6 ,  -81.4 ,  82.1 ,  -172.6  };
           double [] x  = new double [15];
            for (int i = 0; i < 15; i++)

                x[i] = 0;

            Console.WriteLine("Исходный массив A:");
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    Console.Write(a[i, j] + "\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine("Исходный массив B:");
            for (int i = 0; i < b.Length ; i++)
            {
                    Console.Write(b[i] + "\n");
             }
             Console.WriteLine();
             for (int k = 0; k < 15 - 1; k++)
             {
                 for (int i = k + 1; i < 15; i++)
                 {
                     for (int j = k + 1; j < 15; j++)
                     {
                         a[i, j] = a[i, j] - a[k, j] * (a[i, k] / a[k, k]);
                     }
                     b[i] = b[i] - b[k] * a[i, k] / a[k, k];
                 }
             }
             for (int k = 15 - 1; k >= 0; k--)
             {
                 s = 0;
                 for (int j = k + 1; j < 15; j++)
                     s = s + a[k, j] * x[j];
                 x[k] = (b[k] - s) / a[k, k];
             }
             for (int i = 0; i < x.Length; i++)
             {
                 Console.WriteLine("Система имеет следующие корни");
                 Console.WriteLine("x1 = {0:0.##}", x[i]);
                 Console.WriteLine("x2 = {0:0.##}", x[i]);
                 Console.WriteLine("x3 = {0:0.##}", x[i]);
                 Console.WriteLine("x4 = {0:0.##}", x[i]);
                 Console.WriteLine("x5 = {0:0.##}", x[i]);
                 Console.WriteLine("x6 = {0:0.##}", x[i]);
                 Console.WriteLine("x7 = {0:0.##}", x[i]);
                 Console.WriteLine("x8 = {0:0.##}", x[i]);
                 Console.WriteLine("x9 = {0:0.##}", x[i]);
                 Console.WriteLine("x10 = {0:0.##}", x[i]);
                 Console.WriteLine("x11 = {0:0.##}", x[i]);
                 Console.WriteLine("x12 = {0:0.##}", x[i]);
                 Console.WriteLine("x13 = {0:0.##}", x[i]);
                 Console.WriteLine("x14 = {0:0.##}", x[i]);
                 Console.WriteLine("x15 = {0:0.##}", x[i]);

             }

                 Console.ReadKey();
        }
    }
}
Вот в конце корни выходят по 15 раз каждый, где исправить нужно, чтобы оно по 1 разу выводилось
Все, всем спасибо! Я сделала

Последний раз редактировалось plktre; 10.09.2019 в 17:28.
plktre вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перевести код из паскаля в с++ AlinaV Помощь студентам 1 04.12.2017 15:06
Перевести с Паскаля на С# SheetyG Помощь студентам 1 08.05.2017 07:27
перевести код с Паскаля на С++ Arman107 Паскаль, Turbo Pascal, PascalABC.NET 0 29.05.2013 09:13
перевести из паскаля на с++ екатерина новикова Общие вопросы C/C++ 1 19.12.2011 19:21
перевести из паскаля в си++ екатерина новикова Помощь студентам 0 19.12.2011 19:02