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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2012, 00:19   #1
olololololcyka
Новичок
Джуниор
 
Регистрация: 24.12.2012
Сообщений: 1
По умолчанию Выручайте. Нужно написать программу по теме матрицы

В каждой строке матрицы С размера n x m все отрицательные элементы, расположенные перед максимальным, разделить на максимальный элемент.
Буду вам очень благодарен
olololololcyka вне форума Ответить с цитированием
Старый 27.12.2012, 21:23   #2
zalza
Пользователь
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

Проверь, может где упустил что-то
Код:
using System;

//Задание
//В каждой строке матрицы С размера n x m все отрицательные элементы, расположенные перед максимальным, разделить на максимальный элемент

namespace Matrix
{
    class Program
    {
        static void matrixC()
        {
            float max;
            int i, j, x = 0, k = 0;

            Console.WriteLine("\n Введите число строк матрицы C: ");
            int n = int.Parse(Console.ReadLine());
            Console.WriteLine("\n Введите число столбцов матрицы C: ");
            int m = int.Parse(Console.ReadLine());
            float[,] c = new float[n,m];

            Console.WriteLine("\n Введите элементы матрицы: ");
            for (i = 0; i < n; i ++)
            {
                Console.Write("\n");
                for (j = 0; j < m; j ++)
                {
                    Console.Write("\n c[" + i.ToString() + "][" + j.ToString() + "] = \n");
                    c[i, j] = float.Parse(Console.ReadLine());
                }
            }

            Console.WriteLine("\n Введена матрица: \n");
            for (i = 0; i < n; i ++)
            {
                for (j = 0; j < m; j ++)
                    Console.Write(c[i, j].ToString() + " ");
                Console.WriteLine("\n");
            }

            for (i = 0; i < n; i ++)
            {
                max = c[i, 0];
                for (j = 0; j < m; j ++)
                {
                    if (c[i, j] > max)
                    {
                        max = c[i, j];
                        x = j + 1;
                    }
                }
                Console.WriteLine("\n Максимальный элемент " + i.ToString() + "й строки " + max.ToString() + "\n");

                for(j = x; j < m; j ++)
                {
                    if (c[i, j] < 0)
                    {
                        Console.Write("\n Найден отрицательный элемент " + c[i, j].ToString() + ", находящийся после максимального \n");
                        c[i, j] = c[i, j]/max;
                        Console.Write("\n и заменен на " + c[i, j].ToString() + "\n");
                        k++;
                    }
                }

                if(k == 0)
                    Console.Write("\n Отрицательных элементов, находящихся после максимального не найдено \n");
                else
                {
                    Console.Write("\n Отрицательных элементов, находящихся после максимального найдено " + k.ToString() + "\n");
                    k = 0;
                }
            }
        }

        static void Main(string[] args)
        {
            matrixC();
            Console.ReadKey();
        }
    }
}
zalza вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно написать программу на фортране по теме вложенные циклы в матричных задачах. lenahan Помощь студентам 0 14.02.2012 18:49
Помогите, пожалуйста, написать программу в Паскаль по теме "Множества" SArtem Помощь студентам 10 19.12.2009 11:40
Нужно написать программу....файлы...матрицы Calfa Паскаль, Turbo Pascal, PascalABC.NET 24 06.05.2009 21:04