Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> найти максимальный элемент в каждом столбце и мини 
:(
    Опции темы
ganja34
Дата 31.1.2011, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 31.1.2011

Репутация: нет
Всего: нет



ребята, помогите пожалуйста, нужно задать двумерный массив(пользователем вводится кол-во столбцов и строк и сами элементы массива). найти максимальный элемент в каждом столбце и минимальный в каждой строке и заменить их нулями. затем вывести исходный и преобразованный массив. у меня не получается.... заранее спасибо smile
Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] mas;
            int N1;
            int N2;
            Console.WriteLine("Укажите количество строк матрицы:");
            N1 = int.Parse(Console.ReadLine());
            Console.WriteLine("Укажите количество столбцов матрицы:");
            N2 = int.Parse(Console.ReadLine());


            mas = new int[N1, N2];
            int i;
            int j;
            for (i = 0; i < N1; i++)
            {
                Console.WriteLine("строка" + i + ": ");
                for (j = 0; j < N2; j++)
                {
                    Console.Write(j + "=");
                    mas[i, j] = int.Parse(Console.ReadLine());
                }
            }

            //вывод исходной
            Console.WriteLine("Исходная матрица");
            for (int iv = 0; iv < N1; iv++)
            {
                for (int jv = 0; jv < N2; jv++)
                {
                    Console.Write("  " + mas[iv, jv]);
                }
                Console.WriteLine();
            }

            int minst = mas[0, 0];
            for (i = 0; i < N1 - 1; i++)
            {
                for (j = 0; j < N2 - 1; j++)
                {
                    if (mas[i, j] <= minst)
                    { minst = mas[i, j]; }

                }
                for (j = 0; j < N2 - 1; j++)
                {
                    if (mas[i, j] == minst)
                    { mas[i, j] = 0; }
                }
                minst = mas[i + 1, N2 - 1];
            }

            int maxstl = mas[0, 0];
            for (i = 0; i < N2 - 1; i++)
            {
                for (j = 0; j < N1 - 1; j++)
                {
                    if (mas[j, i] >= maxstl)
                    { maxstl = mas[j, i]; }

                }
                if (mas[i, j] == maxstl)
                { mas[i, j] = 0; }
            }



          Console.WriteLine("Преобразованная матрица");
            for (int iv = 0; iv < N1; iv++)
            {
                for (int jv = 0; jv < N2; jv++)
                {
                    Console.Write("  " + mas[iv, jv]);
                }
                Console.WriteLine();
            }
            Console.ReadLine();
            
        }
    }
}

PM MAIL   Вверх
Экскалупатор
Дата 31.1.2011, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



Цитата(ganja34 @  31.1.2011,  06:14 Найти цитируемый пост)
у меня не получается

а что конкретно не получается?
PM MAIL ICQ   Вверх
ganja34
Дата 31.1.2011, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 31.1.2011

Репутация: нет
Всего: нет



не получается заменить найденные минимальные и максимальные элементы на ноль...мой код работает только с квадратичной матрицей, иначе ругается, да и меняет на ноль только элемент с индексом (1,1)....
PM MAIL   Вверх
Экскалупатор
Дата 31.1.2011, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] mas = {{2,4,5,3,2,6},{4,6,7,3,4,5},{6,-5,-4,45,5,-3}};

            //вывод исходной
            Console.WriteLine("Исходная матрица");
            for (int iv = 0; iv < 3; iv++)
            {
                for (int jv = 0; jv < 6; jv++)
                {
                    Console.Write("  " + mas[iv, jv]);
                }
                Console.WriteLine();
            }

            //минимальный в строке
            int minst = 0;
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 6; j++)
                {
                    if (mas[i, j] <= mas[i, minst])
                    {
                        minst = j;
                    }
                }
                mas[i, minst] = 0;
            }

            //максимальный в столбце
            int maxcolumn = 0;
            for (int i = 0; i < 6; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    if (mas[j, i] >= mas[maxcolumn, i])
                    {
                        maxcolumn = j;
                    }
                }
                mas[maxcolumn, i] = 0;
            }

            //вывод
            Console.WriteLine("Результат:");
            for (int iv = 0; iv < 3; iv++)
            {
                for (int jv = 0; jv < 6; jv++)
                {
                    Console.Write("  " + mas[iv, jv]);
                }
                Console.WriteLine();
            }
        }
    }
}


Это сообщение отредактировал(а) Экскалупатор - 31.1.2011, 16:55
PM MAIL ICQ   Вверх
ganja34
Дата 1.2.2011, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 31.1.2011

Репутация: нет
Всего: нет



спасибо большое)) только там надо было сделать чтобы пользователь сам вводил размерность и элементы массива
PM MAIL   Вверх
Экскалупатор
Дата 1.2.2011, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



ganja34, ммм, ну объедини свой код и мой. я делал только обработку(она у тебя вроде бы не получалась), для этого вводить не обязательно.
PM MAIL ICQ   Вверх
ganja34
Дата 1.2.2011, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 31.1.2011

Репутация: нет
Всего: нет



спасибо,  я вечером попробую
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0734 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.