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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2012, 18:13   #1
emdroof
Пользователь
 
Аватар для emdroof
 
Регистрация: 11.04.2011
Сообщений: 46
По умолчанию C# WinForms (Расположены ли столбцы исходного массива в порядке возрастания количества положительных элементов в них)

Здравствуйте! Я делаю проект в WinForms и на данном этапе мне надо узнать, расположены ли столбцы исходного массива в порядке возрастания количества положительных элементов в них. Говоря простым языком, если в первом столбце 1 положит. элемент, во втором 3, а в третьем 7 и т.д., то столбцы расположены в порядке возрастания положительных элементов в них. Количество строк и столбцов массива вводится путем введения цифр в textbox'ы, т.е. массив динамический, в этом то и вся проблема.В данном коде я сделал сравнение для первого и второго столбца, вот как теперь сделать это для всех столбцов???
Код:

List<int> list = new List<int>();
            for (int j = 0; j < col; j++)
            {
                for (int i = 0; i < row; i++)
                {
                    if (Convert.ToInt32(dt.Rows[i][0]) >= 0)
                        list.Add(Convert.ToInt32(dt.Rows[i][j]));
                    int l = list.Count() / Convert.ToInt32(textBox1.Text);
                    if (l < Convert.ToInt32(dt.Rows[i][1]))
                       label3.Content = "да";
                   else
                        label3.Content = "нет";
                }
emdroof вне форума Ответить с цитированием
Старый 25.11.2012, 18:21   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в этом то и вся проблема
Проблема не в этом, а в неверном подходе к задаче.
Как ты вводишь массив? Организуй дополнительную строку массива или дополнительный массив, в которой(м) будешь хранить кол-во положительных, и уже по нему проходи в цикле выясняя решение задачи.
Понял?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2012, 18:25   #3
emdroof
Пользователь
 
Аватар для emdroof
 
Регистрация: 11.04.2011
Сообщений: 46
По умолчанию

я так пытался сделать, но я понятия не имею как элементы массива типа DataTable запихнуть в обычный двумерный массив. Обычным способ студия ругается на несовместимость
emdroof вне форума Ответить с цитированием
Старый 25.11.2012, 18:31   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как элементы массива типа DataTable
Откуда ты получаешь данные?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2012, 18:33   #5
emdroof
Пользователь
 
Аватар для emdroof
 
Регистрация: 11.04.2011
Сообщений: 46
По умолчанию

Код:
private int row, col;
        DataTable dt;
             col = Convert.ToInt32(textBox1.Text);
             row = Convert.ToInt32(textBox2.Text);
             dt = new DataTable();
            for (int i = 0; i < col; i++)
            {
                dt.Columns.Add("", typeof(Int32));
            }
            for (int i = 0; i < row; i++)
                {
                    dt.Rows.Add();
                }
            Random r = new Random();
            for (int i = 0; i < row; i++)
                for (int j = 0; j < col; j++)
                {
                    dt.Rows[i][j] = r.Next(-10, 10);
                }
        
            myDG.DataSource = dt;
emdroof вне форума Ответить с цитированием
Старый 25.11.2012, 18:49   #6
emdroof
Пользователь
 
Аватар для emdroof
 
Регистрация: 11.04.2011
Сообщений: 46
По умолчанию

даже если добавить в новый массив, я опять не пойму как это сделать конкретно для всех столбцов в динамическом массиве
emdroof вне форума Ответить с цитированием
Старый 25.11.2012, 18:52   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот!. Отлично. Теперь допили сюда массив типа int размерностью col

Код:
 
 dt.Rows[i][j] = r.Next(-10, 10);
 Массив[j]+=(dt.Rows[i][j]>0)?1:0;
А потом в цикле:
Код:
for(int i=1;...){
 if(Массив[i-1]>Массив[i]){ 
  Неупорядочено. Можно прервать цикл и вывести сообщение.
 }
}
Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2012, 22:44   #8
emdroof
Пользователь
 
Аватар для emdroof
 
Регистрация: 11.04.2011
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Вот!. Отлично. Теперь допили сюда массив типа int размерностью col

Код:
 
 dt.Rows[i][j] = r.Next(-10, 10);
 Массив[j]+=(dt.Rows[i][j]>0)?1:0;
А потом в цикле:
Код:
for(int i=1;...){
 if(Массив[i-1]>Массив[i]){ 
  Неупорядочено. Можно прервать цикл и вывести сообщение.
 }
}
Идея понятна?
Код:
int [j] += (dt.Rows[i][j] > 0) ? 1 : 0;
Недопустимый элемент "int" в выражении
emdroof вне форума Ответить с цитированием
Старый 25.11.2012, 22:52   #9
emdroof
Пользователь
 
Аватар для emdroof
 
Регистрация: 11.04.2011
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Идея понятна?
да и непонятно вообще что тут происходит
emdroof вне форума Ответить с цитированием
Старый 25.11.2012, 23:20   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
да и непонятно вообще что тут происходит
Придется тебе начать читать книги по СиШарпу. Иначе что бы я ни написал ты не поймешь.
Массив обьявляется как
Код:
int[] Массив=new int[тут размерность]
А пример использования я дал выше.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможен ли подсчет количества положительных элементов массива без указателей? SERG1990 Общие вопросы C/C++ 7 16.03.2012 12:07
В двумерном вещественном массиве 4x4 переставить строки в порядке возрастания максимальных элементов строк (Паскаль) 77SEMI77 Помощь студентам 0 20.01.2012 00:42
Расположе элементов строки массива в порядке возрастания londoncold Помощь студентам 1 21.12.2011 21:04
Методом простых включений произвести сортировку (упорядочивание в порядке возрастания) массива из N действительных чисел СашаСаша Помощь студентам 1 04.07.2011 18:41
Расположить элементы массива в порядке возрастания Klik_1602 Помощь студентам 2 04.01.2011 14:59