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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2014, 11:57   #1
803
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 89
По умолчанию Заменить все элементы строки левее минимального C#

Здравствуйте. Помогите, пожалуйста, разобраться вот с таким условием. Нужно найти минимальный элемент в каждой строке и заменить все элементы строки левее минимального на 0.

Матрица здесь не выводится (это и не надо, главное алгоритм)
Код:
public static void Main()
    {
        double[,] a;
        int n, m;
        Console.Write("строк -  ");
        n = Convert.ToInt32(Console.ReadLine());
        Console.Write("столбцов -  ");
        m = Convert.ToInt32(Console.ReadLine());
        a = new double[n, m];
        //заполнение твоего массива руками))
        for (int i = 0; i <= a.GetUpperBound(0); i++)
            for (int j = 0; j <= a.GetUpperBound(1); j++)
            {
                Console.Write("a[" + i + "," + j + "]=");
                a[i, j] = Convert.ToDouble(Console.ReadLine());
            }
        //поиск минимального элемента
        for (int i = 0; i <= a.GetUpperBound(0); i++)
        {
            double min = a[i, 0];
            int indexI = 0, indexJ = 0;

            for (int j = 0; j <= a.GetUpperBound(1); j++)
            {
                if (min > a[i, j])
                {
                    min = a[i, j];
                    indexI = i;
                    indexJ = j;

                }
            }
            Console.WriteLine("min is={0}, and indes is={1},{2}", min, indexI, indexJ); //вывод минимального 
        }
    }
803 вне форума Ответить с цитированием
Старый 20.10.2014, 13:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
public static void Main()
    {
        double[,] a;
        int n, m,imin;
        Console.Write("строк -  ");
        n = Convert.ToInt32(Console.ReadLine());
        Console.Write("столбцов -  ");
        m = Convert.ToInt32(Console.ReadLine());
        a = new double[n, m];
        //заполнение твоего массива руками))
        for (int i = 0; i <= a.GetUpperBound(0); i++) {
            imin=0;
            for (int j = 0; j <= a.GetUpperBound(1); j++)
            {
                Console.Write("a[{0},{1}]=",i,j);
                a[i, j] = Convert.ToDouble(Console.ReadLine());
                if (a[i,j]<a[i,imin]) imin=j;
            }
            for(int j=imin+1;j <= a.GetUpperBound(1); j++) a[i,j]=0;
        }

        for (int i = 0; i <= a.GetUpperBound(0); i++) {
            for (int j = 0; j <= a.GetUpperBound(1); j++)
            {
                Console.Write("a[{0},{1}]={2}",i,j,a[i,j]);
            }
            Console.WriteLn();
        }
        
    }
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.10.2014, 15:31   #3
803
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 89
По умолчанию

Спасибо, сделал все работает.
803 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в массиве все максимальные элементы заменить первым элементом, а все минимальные элементы заменить последним элементом Валерия2701 Паскаль, Turbo Pascal, PascalABC.NET 1 12.10.2011 15:49
Заменить на 0 все элементы матрицы лежащие на главной диагонали и выше ее... Анастасия01 Помощь студентам 6 30.06.2011 13:55
заменить нулем все элементы меньшие введенного числа Сашуня Паскаль, Turbo Pascal, PascalABC.NET 2 23.05.2011 22:18
Все отрицательные элементы массива А заменить на сумму, а положительные на полусумму предшествующих Lada05 Помощь студентам 1 27.10.2010 15:44
уменьшить все элементы с четными индаксами на величину минимального элемента ginzor Помощь студентам 4 02.11.2009 15:26