Форум Игромании
 
Регистрация
Справка

Программирование Создание, разработка и доработка различных игр и программного обеспечения

Ответ
 
Опции темы
Старый 06.11.2011, 20:09   #61
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,351
Репутация скрыта [+/-]
Да, я выше немного сглупил. По вечер голова плохо варит.
OverDoser, если масштабирование полное, а не отдельное по каждой оси, то при таком масштабировании сохраняются углы. Подобие же, как-никак Только Вам всё равно придётся вектризовать изображения (предположим, каждый объект - один непрерывный контур, состоящий из отрезков прямых; полагаю, для Вашего случая такое предположение справедливо). Соответственно, последовательность величин углов между соседними сторонами должна быть одинаковой: выстраиваем их в список по определённому направлению, по или против часовой, и начинаем сравнивать углы (только точку старта, вследствие поворота, придётся двигать по всему списку). Если какой-то случай совпадает, то сравнить длины сторон всё равно надо, ибо подобие при равенстве углов гарантируется только в случае выпуклых многоугольников. Но упрощение всё-таки налицо.

А если Вы про свойства в растровом изображении, то я не понимаю, какими они могут быть. Нет, контрольную сумму и для этого случая можно придумать, но это достаточно сложная задача.

Добавлено через 3 минуты
Хотя... для теста можете, скажем, подсчитать две величины: расстояние между самыми отдалёнными пикселями фигуры и её площадь. Первая величина позволит Вам зафиксировать отношение размеров образца к размерам объекта, ну а вторая как раз и будет некой контрольной суммой.

Добавлено через 7 минут
В общем, если Вам нужен простой и эффективный алгоритм, работающий на достаточно разных изображениях, то это вариант как раз подойдёт, пожалуй. Ложных срабатываний должно быть не так много, и для каждого можно уже включить более тонкие варианты. Только не забывайте, что площади образца и масштабированного изображения будут относиться как квадраты их одинаковых (до подобия) отрезков, площадь же.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)

Последний раз редактировалось pokibor; 06.11.2011 в 20:17. Причина: Добавлено сообщение
pokibor на форуме  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 06.11.2011, 20:47   #62
Опытный игрок
 
Аватар для OverDoser
 
Регистрация: 08.09.2006
Адрес: столица России - Москва
Сообщений: 1,406
Репутация: 130 [+/-]
pokibor, М, не понял.
Так что мне значит нужно считать и находить:
Нахожу самый длинный отрезок, который соединяет противолежащие точки границы.
Нахожу площадь.
Далее смотрю :нахожу коэффициент k=(отрезок на данном объекте/отрезок на образце)^2.Далее , если (S(объекта)/k)~S(образца),то это нужный объект.
OverDoser вне форума  
Отправить сообщение для OverDoser с помощью ICQ Ответить с цитированием
Старый 06.11.2011, 20:52   #63
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,351
Репутация скрыта [+/-]
OverDoser, да, именно так. Самое простое, по-моему, что можно придумать. Площадь для пиксельного объекта считается элементарно, а вот самый длинный отрезок между точками границы... Ну, тут придётся немного подумать. Но не думаю, чтобы это было сложно.

Добавлено через 1 минуту
Хотя вместо самого длинного отрезка можно брать, например, длину периметра. Тоже линейная штука, её, возможно, проще будет считать.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)

Последний раз редактировалось pokibor; 06.11.2011 в 20:54. Причина: Добавлено сообщение
pokibor на форуме  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 06.11.2011, 21:01   #64
Опытный игрок
 
Аватар для OverDoser
 
Регистрация: 08.09.2006
Адрес: столица России - Москва
Сообщений: 1,406
Репутация: 130 [+/-]
pokibor, Самый длинный отрезок-это есть самый длинный отрезок из двух, которые соединяют крайние противолежащие точки.
Получим координаты этих точек-вот и готово.
Хотя,таки,площадь и правда легче считать)

PS.Я вот подумал.. Почему бы не найти центр тяжести объекта, считая его относительно прямоугольника, который описывает фигуру?
У нас же объект может:поворачиваться или перемещаться(все происходит вокруг центра тяжести, значит, координаты остаются прежними, или масштабирование(центр тяжести const)

Последний раз редактировалось OverDoser; 06.11.2011 в 21:40.
OverDoser вне форума  
Отправить сообщение для OverDoser с помощью ICQ Ответить с цитированием
Старый 06.11.2011, 22:11   #65
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,351
Репутация скрыта [+/-]
Цитата:
Сообщение от OverDoser Посмотреть сообщение
pokibor, Самый длинный отрезок-это есть самый длинный отрезок из двух, которые соединяют крайние противолежащие точки.
Получим координаты этих точек-вот и готово.
Вообще-то при неровной фигуре какие там "крайние противолежащие точки" ещё поди сообрази. Периметр считать проще. Но дело Ваше.
Цитата:
Сообщение от OverDoser Посмотреть сообщение
PS.Я вот подумал.. Почему бы не найти центр тяжести объекта, считая его относительно прямоугольника, который описывает фигуру?
У нас же объект может:поворачиваться или перемещаться(все происходит вокруг центра тяжести, значит, координаты остаются прежними, или масштабирование(центр тяжести const)
Что значит "относительно прямоугольника, который описывает фигуру"? Если Вы поворачиваете объект, значит и прямоугольник сместится. Центр масс найти можно относительно фигуры в целом, исходя из её площади. Прямоугольник тут не при чём. Да, он должен быть постоянным при всех масштабированиях и поворотах, но постоянным относительно краёв фигуры, её вершин и прочих элементов. Можете это брать дополнительным критерием, но вообще-то вследствие возможности поворота сопоставление таких точек приводит к тому, что сказано выше про вектризацию.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor на форуме  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 06.11.2011, 22:39   #66
Опытный игрок
 
Аватар для OverDoser
 
Регистрация: 08.09.2006
Адрес: столица России - Москва
Сообщений: 1,406
Репутация: 130 [+/-]
pokibor, Как бы я искал центр тяжести:
Нашел бы самую минимальную и максимальную Y и X (назовем X1 и Y1-минимальные,X2 и Y2-максимальные)точек у объекта
Принял бы X1 за ноль, тогда вторая координата(X2) станет X2-X1.Поделил бы (X2-X1)/2-получил абсциссу центра тяжести. Также поступил бы и с Y.
Нашел бы у объекта(X3,Y3) и образца(X4,Y4) координаты центра тяжести. Сравнил бы Х3 с X4 и Y4,Y3 с X4 и Y4.
Если совпадения есть-мы нашли искомый объект

UP.Что-то тупанул, не всегда работает =(

Последний раз редактировалось OverDoser; 06.11.2011 в 22:46.
OverDoser вне форума  
Отправить сообщение для OverDoser с помощью ICQ Ответить с цитированием
Старый 15.11.2011, 00:28   #67
Юзер
 
Регистрация: 08.09.2007
Сообщений: 271
Репутация: 61 [+/-]
Из положительных и отрицательных элементов массива а нужно составить 2 массива, удалив при этом получившиеся нулевые элементы, с последним как раз и загвоздка, а именно в циклах, выделенных красным цветом. Подскажите, пожалуйста.
Код:
static void Main(string[] args)
        {
            Console.WriteLine("Введите число элементов массива а");
            int size = int.Parse(Console.ReadLine());
            int[] a = new int[size];
            int[] b = new int[size];
            int[] c = new int[size];
            int k = 0;
            for (int i = 0; i < size; i++)
            {
                Console.WriteLine("Введите элемент {0}:", i);
                a[i] = int.Parse(Console.ReadLine());
                if (a[i] < 0)
                {
                    b[i] = a[i];
                }
                else if (a[i] > 0)
                {
                    c[i] = a[i];
                }
            }
            Console.WriteLine();
            Console.Write("Первоначальный массив: ");
            foreach (int j in a)
            {
                Console.Write(j + " ");
            }
            Console.WriteLine();
            Console.WriteLine("Массив из отрицательных элементов массива а: ");
            foreach (int j in b)
            {
                if (j == k)
                {
                    ???
                }
            }
            Console.WriteLine();
            Console.Write("Массив из положительных элементов массива а: ");
            foreach (int j in c)
            {
                if (j == k)
                {
                    ???
                }
            }
            Console.Read();
        }
    }
}
__________________
"Надежда умирает последней", - сказала Вера и застрелила Любовь...
Arantar вне форума  
Ответить с цитированием
Старый 15.11.2011, 01:13   #68
Юзер
 
Аватар для CMETAHA

 
Регистрация: 24.06.2008
Адрес: Я тут
Сообщений: 472
Репутация: 172 [+/-]
Arantar, А в чём проблема-то? Если j != k тогда выводим.
__________________
"Хуже вопроса не в той теме, может быть только вопрос, о вопросе не в той теме." © *@ndrey*

Контактик Щебет Лицокнижка Спроси меня Гплюс
CMETAHA вне форума  
Отправить сообщение для CMETAHA с помощью ICQ Ответить с цитированием
Старый 15.11.2011, 01:34   #69
Юзер
 
Регистрация: 08.09.2007
Сообщений: 271
Репутация: 61 [+/-]
CMETAHA, блин, точно! Как всегда.
А размер массива уменьшается при этом или остаётся прежним (только нулевые элементы не выводятся)?
__________________
"Надежда умирает последней", - сказала Вера и застрелила Любовь...
Arantar вне форума  
Ответить с цитированием
Старый 15.11.2011, 01:39   #70
Юзер
 
Аватар для CMETAHA

 
Регистрация: 24.06.2008
Адрес: Я тут
Сообщений: 472
Репутация: 172 [+/-]
Arantar, Нулевые не выведутся. А размер массивов не измениться. Ты же не удаляешь/добавляешь элементы. Ты просто выводишь значения ячеек массивов.
__________________
"Хуже вопроса не в той теме, может быть только вопрос, о вопросе не в той теме." © *@ndrey*

Контактик Щебет Лицокнижка Спроси меня Гплюс
CMETAHA вне форума  
Отправить сообщение для CMETAHA с помощью ICQ Ответить с цитированием
Старый 15.11.2011, 01:43   #71
Юзер
 
Регистрация: 08.09.2007
Сообщений: 271
Репутация: 61 [+/-]
Так и думал.
Но хотелось бы рассмотреть вариант именно с удалением нулевых элементов.)
__________________
"Надежда умирает последней", - сказала Вера и застрелила Любовь...
Arantar вне форума  
Ответить с цитированием
Старый 15.11.2011, 01:45   #72
Юзер
 
Аватар для CMETAHA

 
Регистрация: 24.06.2008
Адрес: Я тут
Сообщений: 472
Репутация: 172 [+/-]
Arantar, Ну так ты же их и не записываешь. В массив b ты записываешь только отрицательные элементы, а в массив c только положительные. Правда ты это достаточно криво делаешь.
__________________
"Хуже вопроса не в той теме, может быть только вопрос, о вопросе не в той теме." © *@ndrey*

Контактик Щебет Лицокнижка Спроси меня Гплюс
CMETAHA вне форума  
Отправить сообщение для CMETAHA с помощью ICQ Ответить с цитированием
Старый 15.11.2011, 08:34   #73
Юзер
 
Регистрация: 08.09.2007
Сообщений: 271
Репутация: 61 [+/-]
Почему криво?

У меня получается так например:
Первоначальный массив: 2 -4 5 9 -1
Массив из отрицательных элементов массива а: 0 -4 0 0 -1
Массив из положительных элементов массива а: 2 0 5 9 0

Но они же есть эти нулевые элементы и их нужно убрать.
__________________
"Надежда умирает последней", - сказала Вера и застрелила Любовь...
Arantar вне форума  
Ответить с цитированием
Старый 15.11.2011, 11:56   #74
Юзер
 
Аватар для CMETAHA

 
Регистрация: 24.06.2008
Адрес: Я тут
Сообщений: 472
Репутация: 172 [+/-]
Arantar, Вот именно из-за наличия этих нулевых элементов и криво. Можно ведь заполнять массивы так, чтобы не было этих нулей.
__________________
"Хуже вопроса не в той теме, может быть только вопрос, о вопросе не в той теме." © *@ndrey*

Контактик Щебет Лицокнижка Спроси меня Гплюс
CMETAHA вне форума  
Отправить сообщение для CMETAHA с помощью ICQ Ответить с цитированием
Старый 15.11.2011, 15:03   #75
Юзер
 
Регистрация: 08.09.2007
Сообщений: 271
Репутация: 61 [+/-]
Цитата:
Сообщение от CMETAHA Посмотреть сообщение
Можно ведь заполнять массивы так, чтобы не было этих нулей.
Подскажите, как это можно сделать, если нетрудно.
__________________
"Надежда умирает последней", - сказала Вера и застрелила Любовь...
Arantar вне форума  
Ответить с цитированием
Старый 15.11.2011, 23:03   #76
Юзер
 
Аватар для CMETAHA

 
Регистрация: 24.06.2008
Адрес: Я тут
Сообщений: 472
Репутация: 172 [+/-]
Arantar, Использовать динамический массив. Т.е. ArrayList. Для этого необходимо подключить System.Collections.

ArrayList myArrayList = new ArrayList();
Затем с помощью метода Add добавляешь необходимый элемент в конец.

Скрытый текст:
Вот изменённая версия кода:
Код:
static void Main(string[] args)
        {
            Console.WriteLine("Введите число элементов массива а");
            int size = int.Parse(Console.ReadLine());
            int[] a = new int[size];
            ArrayList b = new ArrayList();
            ArrayList c = new ArrayList();
            int k = 0;
            for (int i = 0; i < size; i++)
            {
                Console.WriteLine("Введите элемент {0}:", i);
                a[i] = int.Parse(Console.ReadLine());
                if (a[i] < 0)
                {
                    b.Add(a[i]);
                }
                else if (a[i] > 0)
                {
                    c.Add(a[i]);
                }
            }
            Console.WriteLine();
            Console.Write("Первоначальный массив: ");
            foreach (int j in a)
            {
                Console.Write(j + " ");
            }
            Console.WriteLine();
            Console.WriteLine("Массив из отрицательных элементов массива а: ");
            foreach (int j in b)
            {
                Console.Write(j + " ");
            }
            Console.WriteLine();
            Console.Write("Массив из положительных элементов массива а: ");
            foreach (int j in c)
            {
                Console.Write(j + " ");
            }
            Console.Read();
        }
__________________
"Хуже вопроса не в той теме, может быть только вопрос, о вопросе не в той теме." © *@ndrey*

Контактик Щебет Лицокнижка Спроси меня Гплюс
CMETAHA вне форума  
Отправить сообщение для CMETAHA с помощью ICQ Ответить с цитированием
Старый 16.11.2011, 00:37   #77
Юзер
 
Регистрация: 08.09.2007
Сообщений: 271
Репутация: 61 [+/-]
А почему именно в конец добавляется нужный элемент?
__________________
"Надежда умирает последней", - сказала Вера и застрелила Любовь...
Arantar вне форума  
Ответить с цитированием
Старый 16.11.2011, 00:48   #78
Юзер
 
Аватар для CMETAHA

 
Регистрация: 24.06.2008
Адрес: Я тут
Сообщений: 472
Репутация: 172 [+/-]
Arantar, Потому что так работает метод Add. Если нужно вставить в произвольное место, то можешь воспользоваться методом Insert.
__________________
"Хуже вопроса не в той теме, может быть только вопрос, о вопросе не в той теме." © *@ndrey*

Контактик Щебет Лицокнижка Спроси меня Гплюс
CMETAHA вне форума  
Отправить сообщение для CMETAHA с помощью ICQ Ответить с цитированием
Старый 16.11.2011, 01:28   #79
Зинеб Нора
 
Аватар для lorin


 
Регистрация: 30.06.2003
Адрес: Köln, Germany
Сообщений: 962
Репутация: 420 [+/-]
Цитата:
Сообщение от OverDoser Посмотреть сообщение
pokibor, Как бы я искал центр тяжести:
Нашел бы самую минимальную и максимальную Y и X (назовем X1 и Y1-минимальные,X2 и Y2-максимальные)точек у объекта
Принял бы X1 за ноль, тогда вторая координата(X2) станет X2-X1.Поделил бы (X2-X1)/2-получил абсциссу центра тяжести. Также поступил бы и с Y.
Нашел бы у объекта(X3,Y3) и образца(X4,Y4) координаты центра тяжести. Сравнил бы Х3 с X4 и Y4,Y3 с X4 и Y4.
Если совпадения есть-мы нашли искомый объект

UP.Что-то тупанул, не всегда работает =(
Тебе помогут интегралы и матан.
__________________
Жив. Цел. Тигръ Графоман
"Method takes the string and string to split. And split the string at string to split, also add space at the end of the string if string ends with string to split."
Рисуем вместе
lorin вне форума  
Отправить сообщение для lorin с помощью ICQ Отправить сообщение для lorin с помощью Skype™ Ответить с цитированием
Старый 22.11.2011, 23:25   #80
Юзер
 
Регистрация: 08.09.2007
Сообщений: 271
Репутация: 61 [+/-]
Написать программу «Автоматизированная информационная система на железнодорожном вокзале». Информационная система должна содержать сведения об отправлении поездов дальнего следования. Для каждого поезда указывается: номер поезда, станция назначения, время отправления.
Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций:
  1. первоначальный ввод данных в информационную систему (с клавиатуры или из файла);
  2. вывод сведений по всем поездам;
  3. вывод сведений по поезду с запрошенным номерам;
  4. вывод сведений по тем поездам, которые следуют до запрошенной станции назначения.

Подскажите, пожалуйста, как реализовать удаление информации о выбранном рейсе или информации о всех рейсах сразу.
http://s017.radikal.ru/i417/1111/07/2014ad7475a9.jpg

Скрытый текст:

Form1:
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;
 
 
namespace WindowsFormsApplication14
{
    public partial class Form1 : Form
    {
        /*
         * класс рейса поездов 
         */
        public class reis 
        {
            /*
         * объявляем поля класса
         */
            public String punkt_naznacheniya;
            public String vremya_otpravleniya;
            public int nomer_poezda;
            public reis(String punkt_naznacheniya, String vremya_otpravleniya, int nomer_poezda)
            {
                this.punkt_naznacheniya = punkt_naznacheniya;
                this.vremya_otpravleniya = vremya_otpravleniya;
                this.nomer_poezda = nomer_poezda;
            }
        }
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            /*
         * загрузка формы 
         */
            t_hour.Text = "Час";
            t_min.Text = "Минута";
            /*
         * чтение данных из файла
         */
            FileStream Stream2 = new FileStream("db.txt", FileMode.Open, FileAccess.Read);
            StreamReader Reader = new StreamReader(Stream2);
            string Str;
            int y;
            int z;
            bool zxc = false;
            do
            {
                Str = Reader.ReadLine();
                if (Str != null)
                {
                    if (zxc == true)
                    {
                        string[] arr = new string[3];
                        y = Str.IndexOf("\t");
                        z = 0;
                        do
                        {
                            arr[z] = Str.Substring(0, y);
                            Str = Str.Substring(y + 1, Str.Length - y - 1);
                            z++;
                            y = Str.IndexOf("\t");
                        }
                        while (y > -1);
                        string[] row = { arr[0], arr[1], Str };
                        poezda.Rows.Add(row);
                    }
                    zxc = true;
                }
 
            }
            while (Str != null);
            Reader.Close();
            Stream2.Close();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            /*
         * добавление нового рейса в БД
         */
            reis REIS = new reis(txt_punkt.Text, t_hour.Text+":"+t_min.Text, Int16.Parse(txt_nomer.Text));
            FileStream Stream = new FileStream("db.txt", FileMode.Append, FileAccess.Write);
            StreamWriter Writer = new StreamWriter(Stream);
            Writer.WriteLine(REIS.punkt_naznacheniya+"\t"+REIS.vremya_otpravleniya+"\t"+REIS.nomer_poezda.ToString());
            Writer.Close();
            Stream.Close();
            poezda.Rows.Clear();
            /*
         * считывание рейсов из файла
         */
            FileStream Stream2 = new FileStream("db.txt", FileMode.Open, FileAccess.Read);
            StreamReader Reader = new StreamReader(Stream2);
            string Str;
            int y;
            int z;
            bool zxc = false;
            do
            {
                Str = Reader.ReadLine(); 
                if (Str != null)
                {
                    if (zxc == true)
                    {
                        string[] arr = new string[3];
                        y = Str.IndexOf("\t");
                        z = 0;
                        do
                        {
                            arr[z] = Str.Substring(0, y);
                            Str = Str.Substring(y + 1, Str.Length - y - 1);
                            z++;
                            y = Str.IndexOf("\t");
                        }
                        while (y > -1);
                        string[] row = { arr[0], arr[1], Str }; 
                        poezda.Rows.Add(row);
                    }
                    zxc = true;
                }
 
            }
            while (Str != null);
            Reader.Close();
            Stream2.Close();
            /*
             * очищаем поля ввода
            */
            txt_punkt.Text = "";
            txt_nomer.Text = "";
            t_hour.Text = "0";
            t_min.Text = "00";
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            /*
         * открытие формы поиска
         */
            Form2 q = new Form2();
            q.Show();
        }
    }
}
Form2 (тут осуществляется поиск):
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;

namespace WindowsFormsApplication14
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load_2(object sender, EventArgs e)
        {
            /*
         * чтение данных из файла
         */
            FileStream Stream2 = new FileStream("db.txt", FileMode.Open, FileAccess.Read);
            StreamReader Reader = new StreamReader(Stream2);
            string Str;
            int y;
            int z;
            bool zxc = false;
            do
            {
                Str = Reader.ReadLine();
                if (Str != null)
                {
                    if (zxc == true)
                    {
                        string[] arr = new string[3];
                        y = Str.IndexOf("\t");
                        z = 0;
                        do
                        {
                            arr[z] = Str.Substring(0, y);
                            Str = Str.Substring(y + 1, Str.Length - y - 1);
                            z++;
                            y = Str.IndexOf("\t");
                        }
                        while (y > -1);
                        string[] row = { arr[0], arr[1], Str };
                        poezda.Rows.Add(row);
                    }
                    zxc = true;
                }

            }
            while (Str != null);
            Reader.Close();
            Stream2.Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            /*
         * поиск
         */
            poisk.Rows.Clear();
            int kol = poezda.Rows.Count;
            kol--;
            for (int i = 0; i < kol; i++)
            {
                if (radioButton1.Checked == true)
                {
                    /*
         * поиск по пункту назначения 
         */
                    if (poezda.Rows[i].Cells[0].Value.ToString() == searcher.Text)
                    {
                        string[] str = { poezda.Rows[i].Cells[0].Value.ToString(), poezda.Rows[i].Cells[1].Value.ToString(), poezda.Rows[i].Cells[2].Value.ToString() };
                        poisk.Rows.Add(str);
                    }
                }
                else
                {
                    /*
         * поиск по номеру рейса 
         */
                    if (poezda.Rows[i].Cells[2].Value.ToString() == searcher.Text)
                    {
                        string[] str = { poezda.Rows[i].Cells[0].Value.ToString(), poezda.Rows[i].Cells[1].Value.ToString(), poezda.Rows[i].Cells[2].Value.ToString() };
                        poisk.Rows.Add(str);
                    }
                }
            }
        }
    }
}
__________________
"Надежда умирает последней", - сказала Вера и застрелила Любовь...

Последний раз редактировалось Arantar; 23.11.2011 в 14:50.
Arantar вне форума  
Ответить с цитированием
Ответ

Метки
c#, обсуждение, помощь, программирование

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 19:54.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Rambler's Top100 Яндекс цитирования