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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите с задачей на C# c массивами, C# c массивами 
:(
    Опции темы
ChildOfLight
Дата 11.11.2011, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



дана матрица m*n  поменять местами столбец с номером 1 и последний из столбцов, содержащих только положительные элементы Если таких столбцов нет,то вывести матрицу без изменений

массив задаю так, а дальше проблемы=( 

Console.WriteLine("введите размерность массива");
 Console.Write("n=");
 m=int.Parse(Console.ReadLine());
 Console.Write("m=");
 n=int.Parse(Console.ReadLine());
 int[,]a=new int[m,n];
 for(int i=0;i<m;++i)
 for(int j=0;j<n;++j)
 {
 Console.Write("a[{0}],{1}]=",i,j);
 a[i,j]=int.Parse(Console.ReadLine());
 }
 return a;
PM MAIL   Вверх
ChildOfLight
Дата 12.11.2011, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



 вот программа, но она не работает,не подскажите где ошибка?

 class Program
    {

        static int[,] Input()
        {
            Console.WriteLine("введите размерность массива");
            int m = int.Parse(Console.ReadLine());
            int n = int.Parse(Console.ReadLine());
            int[,] a = new int[m, n];
            for (int i = 0; i < n; ++i)
                for (int j = 0; j < n; ++j)
                {
                    Console.Write("a[{0}][{1}]=", i, j);
                    a[i, j] = int.Parse(Console.ReadLine());
                }
            return a;
        }
  static bool polozit(int[,] m, int c)
        {
            for (int j = 0; j  < m.GetLength(0); j ++)
                if (m[j , c] < 0)
                    return false;
            return true;
        }


        static void Change(int[,] m, int c1, int c2)
        {
            for (int j  = 0; j  < m.GetLength(0); j --)
            {
                int x = m[j , c1];
                m[j , c1] = m[j , c2];
                m[j , c2] = x;
            }
        }
 static void Main(int[,] m)
        {
            for (int j  = m.GetUpperBound(1); j > 0; j ++)
                if (polozit(m, j ))
                {
                    Change(m, 0, j );
                    break;
                }
        }
    }
}
 
PM MAIL   Вверх
Brilona
Дата 14.11.2011, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Почему в этом методе используется "j --", а не "j ++"?

Код

        static void Change(int[,] m, int c1, int c2)
        {
            for (int j  = 0; j  < m.GetLength(0); j --)
            {
                int x = m[j , c1];
                m[j , c1] = m[j , c2];
                m[j , c2] = x;
            }
        }



PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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