С Новым годом! Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Результаты опроса: Может ли никакой математик быть кул прогером
Конечно может, что за базар 105 38.89%
Нет, не может. Прогер должен знать математику 85 31.48%
Я прогер но не математик, и нормально прогаю 59 21.85%
Я математик и стал прогером и мне знания супер пригодились 21 7.78%
Голосовавшие: 270. Вы ещё не голосовали в этом опросе

 
 
Рейтинг 5.00/315: Рейтинг темы: голосов - 315, средняя оценка - 5.00
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
26.08.2011, 21:05 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от AzaKendler Посмотреть сообщение
давайте еще и уточним кто такой математик заодно. есть математики тут?
неуместный сарказм. Посмотрите на диаграмму оценки знаний человека со стороны обычного пользователя
Может ли плохой математик был хорошим программистом?

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


Цитата Сообщение от AzaKendler Посмотреть сообщение
ну вот ты считаешь себя программистом или нет? и как оцениваешь собственный уровень? помогает ли тебе математика и насколько?
Я только поступил на 5 курс, учусь на факультете Прикладной математики и менеджмента по специальности Информатика. Больше года уже работаю Java & Oracle девелопером в одной европейской компании. Могу сказать честно, что мне математика абсолютно не пригодилась, разве что только для улучшения абстрактного мышления. На практике же, полученные знания я не использую
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.08.2011, 21:05
Ответы с готовыми решениями:

Может ли девушка быть (хорошим) программистом?
Да? Нет? Аргументируйте Ваше мнение. Можно вставить цитаты ответов из этой темы. Реальные...

Как стать хорошим программистом
Добрый день! Тема уже не раз обсуждалась, но конкретной информации так и не удалось получить, или...

Как стать хорошим программистом?
Здравствуйте Уважаемые программисты.. Я учусь на 2 курсе на ИСИТ... И Я люблю программировать и это...

Как стать хорошим программистом
Я совсем зеленый в плане программирования, знаю только основы на каком-то уровне. Как развивать...

697
Заблокирован
26.08.2011, 21:19 22
Цитата Сообщение от Vourhey Посмотреть сообщение
Арифметика все-таки математики здесь ноль понять, что хочет одно устройство и перевести это в байты для другого это не математика
ну здесь же была речь о протоколах обмена устройств с серваком, которые записаны тем же пакетайзером как "E7 00 00 F5 01 FB"(расшифровать и применить), и если сохранить в вордовский файл(пакетайзер, как ни как, дает много лишней информации), можно макрос написАть на VB, который дает мне int.(хз, как сказать)

Добавлено через 4 минуты
Цитата Сообщение от Vourhey Посмотреть сообщение
Тут математических алгоритмов нет
есть: перевод налету с шеснадцатиричной в десятичную.

а вообще, Vourhey, , уважуха без[вырезано]....
0
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
26.08.2011, 21:27  [ТС] 23
Цитата Сообщение от M128K145 Посмотреть сообщение
человека, который способен установить винду уже причисляют к программистам.
а я думаю что твой сарказм не уместен.
а вот за ответ спасибо. как раз интересовало мнение прогера
0
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.08.2011, 21:32 24
Необходимо быть хоть каким то математиком, чтоб быть хоть каким то программистом, но можно быть плохим математиком и хорошим программистом.
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
26.08.2011, 21:33 25
Цитата Сообщение от taras atavin Посмотреть сообщение
но можно быть плохим математиком и хорошим программистом
знаете таких? А код покажете?
0
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
26.08.2011, 21:36  [ТС] 26
Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
если бы в опрос внесли пункт
да что то не позволяет уже редактировать. Я бы внес конечно - это правильно
0
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.08.2011, 21:40 27
И вообще, программист есть три в одном: инженер, математик и лингвист. Надеюсь не надо пояснять, на сколько плохой в большинстве случаев лингвист?
0
Заблокирован
26.08.2011, 21:46 28
Цитата Сообщение от iama Посмотреть сообщение
знаете таких? А код покажете?
Я такой такой, вот код:
вот
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
           ButOkKoment = new Button(),
            ButRight = new Button(),
            ButLeft = new Button(), 
            Proverka1 = new Button(),
            Proverka2 = new Button();
        TextBox tbAdd = new TextBox(),
            tbWord = new TextBox(),
            tbKoment = new TextBox();
        CheckBox cbLett = new CheckBox(),
            cbEnd = new CheckBox();
        [Serializable]
        public class Letter
        {
            public int CooX;            //координаты в сетке
            public int CooY;          
            public String s;
            public Letter(int x, int y, String str)
            {
                CooX = x; CooY = y; s = str;
            }
            public Letter(Letter l)
            {
                this.CooX = l.CooX; this.CooY = l.CooY; this.s = l.s;
            }
        }
        //[Serializable]
        ArrayList LetterArray = new ArrayList();
        [Serializable]
        public class Word
        {
            public int CooX, CooY;          //координаты в сетке
            public int ComX, ComY;          //координаты коментария
            public string name,descriptor;  
            public bool napravlenie;//ver - true;
            public Word(string s) { name = s; }
            public Word() { name = ""; }
            public Word(int x, int y, string s, bool n)
            {
                CooX = x; CooY = y;
                name = s; napravlenie = n;
                descriptor = null;
            }
            public Word(int x, int y, int xx, int yy, string s, bool n)
            {
                CooX = x; CooY = y;
                ComX = xx; ComY = yy;
                name = s; napravlenie = n;
                descriptor = null;
            }
            public Word(Word w)
            {
                this.CooX = w.CooX; this.CooY = w.CooY;
                this.name = w.name; this.napravlenie = w.napravlenie;
                this.descriptor = w.descriptor;
                this.ComX = w.ComX; this.ComY = w.ComY;
            }
        }
        //[Serializable]
        ArrayList WordArray = new ArrayList();
        [Serializable]
        public class Picture
        {
            public int CooX;            //координаты в сетке
            public int CooY;
            public int DX, DY;          //длина-ширина
            public Image img;
            public Picture(int x, int y,int xx, int yy,Image im)
            {
                CooX = x; CooY = y;
                DX = xx; DY = yy;
                img = im;
            }
            public Picture(Picture pict)
            {
                this.CooX = pict.CooX; this.CooY = pict.CooY;
                this.DX = pict.DX; this.DY = pict.DY;
                this.img = pict.img;
            }
        }
        ArrayList PicArray = new ArrayList();
 
        Program()
        {
            //lbSlovar.Parent = this;
            //lbSlovar.Bounds = new Rectangle(850,20,130,220);
            tbAdd.Parent = this;
            tbAdd.Bounds = new Rectangle(520, 550, 150, 25);
            tbAdd.KeyUp += new KeyEventHandler(tbAdd_KeyUp);
            AddWord.Parent = this;
            AddWord.Bounds = new Rectangle(520, 580, 70, 25);
            AddWord.Text = "Добавить";
            AddWord.Click += new EventHandler(AddWord_Click);
            DelWord.Parent = this;
            DelWord.Bounds = new Rectangle(600, 580, 70, 25);
            DelWord.Text = "Удалить";
            DelWord.Click += new EventHandler(DelWord_Click);
            lbSlovar.Sorted = true;
            lbPodhodit.Parent = this;
            lbPodhodit.Bounds = new Rectangle(520, 35, 150, 500);
            lbPodhodit.Click += new EventHandler(lb_Click);
            lbPodhodit.Sorted = true;
            lbUse.Parent = this;
            lbUse.Bounds = new Rectangle(690, 35, 150, 500);
            lbUse.Click += new EventHandler(lbUse_Click);
            lbUse.Sorted = true;
            ButSave.Parent = this;
            ButSave.Bounds = new Rectangle(860, 10, 70, 25);
            ButSave.Text = "Сохранить";
            ButSave.Click += new EventHandler(Save_Click);
            ButLoad.Parent = this;
            ButLoad.Bounds = new Rectangle(860, 40, 70, 25);
            ButLoad.Text = "Загрузить";
            ButLoad.Click += new EventHandler(Load_Click);
            ButClear.Parent = this;
            ButClear.Bounds = new Rectangle(860, 70, 70, 25);
            ButClear.Text = "Очистить";
            ButClear.Click += new EventHandler(Clear_Click);
 
            Proverka1.Parent = this;
            Proverka1.Bounds = new Rectangle(860, 250, 120, 25);
            Proverka1.Text = "Все стрелки?";
            Proverka1.Click += new EventHandler(Proverka1_Click);
            Proverka2.Parent = this;
            Proverka2.Bounds = new Rectangle(860, 280, 120, 25);
            Proverka2.Text = "Все комментарии?";
            Proverka2.Click += new EventHandler(Proverka2_Click);
 
            ButLeft.Parent = this;
            ButLeft.Bounds = new Rectangle(690, 550, 30, 20);
            ButLeft.Text = "<--";
            ButLeft.Click += new EventHandler(ButLeft_Click);
            ButRight.Parent = this;
            ButRight.Bounds = new Rectangle(810, 550, 30, 20);
            ButRight.Text = "-->";
            ButRight.Click += new EventHandler(ButRight_Click);
            ButOkKoment.Parent = this;
            ButOkKoment.Bounds = new Rectangle(810, 580, 30, 20);
            ButOkKoment.Text = "OK";
            ButOkKoment.Click += new EventHandler(ButOkKoment_Click);
            tbWord.Parent = this;
            tbWord.Bounds = new Rectangle(720, 550, 90, 20);
            tbWord.ReadOnly = true;
//            tbWord.BorderStyle = BorderStyle.None;
            tbKoment.Parent = this;
            tbKoment.Bounds = new Rectangle(690, 580, 120, 20);
            cbLett.Parent = this;
            cbLett.Text = "Буквы";
            cbLett.Bounds = new Rectangle(860, 150, 120, 20);
            cbLett.Checked = true;
            cbLett.Click += new EventHandler(cb_Click);
            cbEnd.Parent = this;
            cbEnd.Text = "Конец слова";
            cbEnd.Bounds = new Rectangle(860, 170, 120, 20);
            cbEnd.Checked = true;
            cbEnd.Click += new EventHandler(cb_Click);
 
            StreamReader sr = new StreamReader("lib.rus", Encoding.Default);
            string line;
            int i = 0;
            while ((line = sr.ReadLine()) != null)
            {
                lbSlovar.Items.Add(line.ToUpper());
                i++;
            }
            sr.Close();
 
            this.StartPosition = FormStartPosition.CenterScreen;
            this.Bounds = new Rectangle(0, 0, XX, YY);
            this.MaximizeBox = false;
            this.Paint += new PaintEventHandler(Program_Paint);
            this.MouseUp += new MouseEventHandler(Program_MouseUp);
            this.MouseDown += new MouseEventHandler(Program_MouseDown);
            this.MouseMove += new MouseEventHandler(Program_MouseMove);
 
            scene = new Bitmap(XX, YY, CreateGraphics());
            fon = new Bitmap(XX, YY);
            Graphics fondc = Graphics.FromImage((Image)fon);
            fondc.Clear(Color.White);
            fondc.Dispose();
            StrelkiVNiz = new Bitmap(Image.FromFile("niz.png"));
            StrelkiVBok = new Bitmap(Image.FromFile("bok.png"));
        }
 
        void cb_Click(object sender, EventArgs e)
        {
            this.Invalidate();
        }
 
        void ButOkKoment_Click(object sender, EventArgs e)
        {
            try
            {
                WordNow = tbWord.Text;
                foreach (Word w in WordArray)
                    if (w.name == WordNow)
                    {
                        if (tbKoment.Text != "" && tbKoment.Text != " " && tbKoment.Text != null)
                        {
                            w.descriptor = tbKoment.Text;
                            return;
                        }
                    }
            }
            catch { }
        }
 
        void ButLeft_Click(object sender, EventArgs e)
        {
            try
            {
                int i = lbUse.SelectedIndex;
                if (i > 0)
                    lbUse.SetSelected(--i, true);
                else
                    lbUse.SetSelected(lbUse.Items.Count - 1, true);
                WordNow = lbUse.SelectedItem.ToString();
                tbWord.Text = WordNow;
                Select(WordNow);
            }
            catch { }
        }
 
        void ButRight_Click(object sender, EventArgs e)
        {
            try
            {
                int i = lbUse.SelectedIndex;
                if (i < (lbUse.Items.Count - 1))
                    lbUse.SetSelected(++i, true);
                else
                    lbUse.SetSelected(0, true);
                WordNow = lbUse.SelectedItem.ToString();
                tbWord.Text = WordNow;
                Select(WordNow);
                /*
                foreach (Word w in WordArray)
                    if (w.name == WordNow)
                    {
                        SelR = new Rectangle(w.CooX, w.CooY,
                            (w.napravlenie) ? 1 : w.name.Length,
                            (w.napravlenie) ? w.name.Length : 1);
                        if (w.descriptor != null)
                            tbKoment.Text = w.descriptor;
                        else
                            tbKoment.Text = "";
                        this.Invalidate(SelR);
                        return;
                    }*/
            }
            catch { }
        }
 
        void Proverka2_Click(object sender, EventArgs e)
        {
            foreach (Word w in WordArray)
                if (w.descriptor == null)
                {
                    Select(w.name);
                    MessageBox.Show("Слово " + w.name + " без комментария");
                    return;
                }
            MessageBox.Show("Все слова с комментариями");
        }
 
        void Proverka1_Click(object sender, EventArgs e)
        {
            foreach (Word w in WordArray)
                if (w.ComX < 0 || w.ComY < 0)
                {
                    Select(w.name);
                    MessageBox.Show("Слово " + w.name + " без стрелки");
                    return;
                }
            MessageBox.Show("Все слова со стрелками");
        }
 
        void tbAdd_KeyUp(object sender, KeyEventArgs e)
        {
            if (SelP.X != -1 && SelP.Y != -1)
            {
                String s = (tbAdd.Text[tbAdd.Text.Length - 1]).ToString().ToUpper();
                bool b = true;
                foreach (Letter l in LetterArray)
                    if (l.CooX == SelP.X && l.CooY == SelP.Y)
                    {
                        l.s = s;
                        b = false;
                    }
                if (b)
                {
                    Letter l = new Letter(SelP.X, SelP.Y, s);
                    LetterArray.Add(l);
                }
                //tbAdd.Text="";
                this.Invalidate(new Rectangle(SelR.X * KX + 10, SelR.Y * KY + 10, KX, KY));
            }
        }
 
        void Save_Click(object sender, EventArgs e)
        {
            try
            {
                BinaryFormatter formatter = new BinaryFormatter();
                SaveFileDialog fd = new SaveFileDialog();
                fd.Filter = "kro files (*.kro)|*.kro|sha files (*.sha)|*.sha|All files (*.*)|*.*";
                fd.RestoreDirectory = true;
                fd.ShowDialog();
                Stream stream = new FileStream(fd.FileName, FileMode.Create, FileAccess.Write, FileShare.None);
                //foreach(Word w in WordArray)
                    //formatter.Serialize(stream, w);
                formatter.Serialize(stream, WordArray);
                formatter.Serialize(stream, LetterArray);
                formatter.Serialize(stream, PicArray);
                stream.Close();
            }
            catch
            {
                MessageBox.Show("Ошибка зaписи");
            }
        }
 
        void Load_Click(object sender, EventArgs e)
        {
            try
            {
                BinaryFormatter formatter = new BinaryFormatter();
                OpenFileDialog fd = new OpenFileDialog();
                fd.Filter = "kro files (*.kro)|*.kro|sha files (*.sha)|*.sha|All files (*.*)|*.*";
                fd.RestoreDirectory = true;
                fd.ShowDialog();
                WordArray.Clear();
                this.Text = fd.FileName;
                Stream stream = new FileStream(fd.FileName, FileMode.Open, FileAccess.Read, FileShare.None);
                WordArray = (ArrayList)formatter.Deserialize(stream);
                LetterArray = (ArrayList)formatter.Deserialize(stream);
                PicArray = (ArrayList)formatter.Deserialize(stream);
                FillUses();
                stream.Close();
            }
            catch
            {
                MessageBox.Show("Ошибка чтения");
            }
        }
 
        void Clear_Click(object sender, EventArgs e)
        {
            WordArray.Clear();
            LetterArray.Clear();
            PicArray.Clear();
            FillUses();
            Invalidate(true);
        }
 
        void AddWord_Click(object sender, EventArgs e)
        {
            if (lbSlovar.Items.Contains(tbAdd.Text.ToUpper()))
            {
                MessageBox.Show("Слово " + tbAdd.Text + " уже есть в словаре");
                return;
            }
            if (tbAdd.Text.Length > 1)
                if (DialogResult.Yes == MessageBox.Show("Добавить слово " + tbAdd.Text + "?", "Добавление", MessageBoxButtons.YesNo))
                {
                    lbSlovar.Items.Add(tbAdd.Text.ToUpper());
                    try
                    {
                        if (lbPodhodit.Items.Count>0)
                            if(lbPodhodit.Items[0].ToString().Length==tbAdd.Text.Length)
                                lbPodhodit.Items.Add(tbAdd.Text.ToUpper());
                    }
                    catch { }
                    StreamWriter sr = new StreamWriter("lib.rus",false, Encoding.Default);
                    for (int i = 0; i < lbSlovar.Items.Count;i++)
                    {
                        sr.WriteLine(lbSlovar.Items[i]);
                    }
                    sr.Close();
                }
        }
 
        void DelWord_Click(object sender, EventArgs e)
        {
            try
            {
                if (DialogResult.Yes == MessageBox.Show("Удалить слово " + lbPodhodit.SelectedItem + "?", "Удаление", MessageBoxButtons.YesNo))
                {
                    String ts = lbPodhodit.SelectedItem.ToString();
                    lbSlovar.Items.Remove(ts);
                    lbPodhodit.Items.Remove(ts);
                    StreamWriter sr = new StreamWriter("lib.rus", false, Encoding.Default);
                    for (int i = 0; i < lbSlovar.Items.Count; i++)
                    {
                        sr.WriteLine(lbSlovar.Items[i]);
                    }
                    Word w2 = null;
                    foreach (Word w1 in WordArray)
                        if (w1.name == ts)
                            w2 = w1;
                    WordArray.Remove(w2);
                    FillUses();
                    Invalidate(true);
                    sr.Close();
                }
            }
            catch { }
        }
 
        void lbUse_Click(object sender, EventArgs e)
        {
            WordNow = ((ListBox)sender).SelectedItem.ToString();
            tbWord.Text = WordNow;
            tbKoment.Text = "";
            Word w = new Word();
            foreach (Word w1 in WordArray)
                if (w1.name == WordNow)
                {
                    w = new Word(w1);
                    SelR = new Rectangle(w.CooX, w.CooY,
                        (w.napravlenie) ? 1 : w.name.Length ,
                        (w.napravlenie) ? w.name.Length : 1);
                    if (w.descriptor != null)
                        tbKoment.Text = w.descriptor;
                }
            int count = w.name.Length;
            vertgor = w.napravlenie;
 
            lbPodhodit.Items.Clear();
            foreach (string s in lbSlovar.Items)
            {
                if (s.Length == w.name.Length)
                {
                    bool yes = true;
                    try
                    {
                        for (int k = 0; k < count; k++)
                        {
                            string st = GetLeter(SelR.X, SelR.Y + k, w.name).ToUpper();
                            if (vertgor && (s[k].ToString().ToUpper() == st ||
                                st == "" || st == " "))
                            { }
                            else
                                yes = false;
                        }
                        if (yes && !lbUse.Items.Contains(s))
                            lbPodhodit.Items.Add(s);
                    }
                    catch { }
                    yes = true;
                    try
                    {
                        for (int k = 0; k < count; k++)
                        {
                            string st = GetLeter(SelR.X + k, SelR.Y, w.name).ToUpper();
                            if (!vertgor && (s[k].ToString().ToUpper() == st ||
                                st == "" || st == " "))
                            { }
                            else
                                yes = false;
                        }
                        if (yes && !lbUse.Items.Contains(s))
                            lbPodhodit.Items.Add(s);
                    }
                    catch { }
                }
            }
            this.Invalidate(new Rectangle(SelR.X * KX + 10, SelR.Y * KY + 10, KX, KY));
        }
 
        void Program_MouseMove(object sender, MouseEventArgs e)
        {
            string ts=e.Button.ToString();
            if (ts == "Left")
            {
                int tx = (e.X - 10) / KX;
                int ty = (e.Y - 10) / KY;
                SelR = new Rectangle((MX <= tx) ? MX : tx, (MY <= ty) ? MY : ty,
                    Math.Abs(MX - tx)+1, Math.Abs(MY - ty)+1);
                Invalidate(SelR);
            }
            if (ts == "Right")
            {
                int tx = (e.X - 10) / KX;
                int ty = (e.Y - 10) / KY;
                RSelR = new Rectangle((RMX <= tx) ? RMX : tx, (RMY <= ty) ? RMY : ty,
                    Math.Abs(RMX - tx) + 1, Math.Abs(RMY - ty) + 1);
                Invalidate(RSelR);
            }
        }
 
        void Program_MouseDown(object sender, MouseEventArgs e)
        {
            string ts=e.Button.ToString();
            Point tp = new Point(e.X, e.Y);
            Rectangle tr = new Rectangle(10, 10, PoX * KX, PoY * KY);
            if (ts == "Left")
            {
                SelP = new Point(-1, -1);
                SelR = new Rectangle(-1, -1, 0, 0);
                MX = -1; MY = -1;
                if (tr.Contains(tp))
                {
                    MX = (e.X - 10) / KX;
                    MY = (e.Y - 10) / KY;
                }
                if (Dyrka.Contains(MX, MY))
                {
                    MX = -1; MY = -1;
                }
            }
            if (ts == "Right")
            {
//                SelP = new Point(-1, -1);
                RSelR = new Rectangle(-1, -1, 0, 0);
                RMX = -1; RMY = -1;
                if (tr.Contains(tp))
                {
                    RMX = (e.X - 10) / KX;
                    RMY = (e.Y - 10) / KY;
                }
                if (Dyrka.Contains(RMX, RMY))
                {
                    RMX = -1; RMY = -1;
                }
            }
       }
 
        void Program_MouseUp(object sender, MouseEventArgs e)
        {
            Point tp = new Point(e.X, e.Y);
            Rectangle tr = new Rectangle(10, 10, PoX * KX, PoY * KY);
            int tx=-1, ty=-1;
            SelP = new Point(-1, -1);
            SelR = new Rectangle(-1, -1, 0, 0);
            RSelR = new Rectangle(-1, -1, 0, 0);
 
            if (tr.Contains(tp))
            {
                tx = (e.X - 10) / KX;
                ty = (e.Y - 10) / KY;
            }
            if (Dyrka.Contains(tx, ty) || Dyrka.Contains(MX, MY))
            {
                MX = -1; MY = -1; tx = -1; ty = -1;
            }
            if (MX != -1&&e.Button.ToString() == "Left")
            {
                if (MX == tx && MY == ty)
                    SelP = new Point(tx, ty);
                else
                {
                    SelP = new Point(-1, -1);
                    if (MX == tx || MY == ty)
                    {
                        SelR = new Rectangle(
                            (MX < tx) ? MX : tx, (MY < ty) ? MY : ty, Math.Abs(MX - tx) + 1, Math.Abs(MY - ty) + 1);
                        int count = (Math.Abs(MX - tx) > Math.Abs(MY - ty) ?
                            Math.Abs(MX - tx) : Math.Abs(MY - ty)) + 1;
                        vertgor = (Math.Abs(MX - tx) > Math.Abs(MY - ty)) ? false : true;
 
                        String ss = GetMask(SelR.X, SelR.Y, vertgor, count);
                        //this.Text = ss;
                        if (ss == null)
                        {
                            lbPodhodit.Items.Clear();
                            MX = -1; MY = -1; tx = -1; ty = -1;
                            Invalidate(SelR);
                            SelR = new Rectangle(-1, -1, 0, 0);
                            RSelR = new Rectangle(-1, -1, 0, 0);
                            return;
                        }
                        if (lbUse.Items.Contains(ss) && ss.Length == count)
                        {
                            Select(ss);
                        }
                        else
                        {
                            lbUse.ClearSelected();
                            lbPodhodit.Items.Clear();
                            foreach (string s in lbSlovar.Items)
                            {
                                if (s.Length == ss.Length)
                                {
                                    bool yes = true;
                                    try
                                    {
                                        for (int k = 0; k < count; k++)
                                            if (vertgor && (ss[k].ToString().ToUpper() == s[k].ToString().ToUpper() ||
                                                ss[k].ToString().ToUpper() == " "))
                                            { }
                                            else
                                                yes = false;
                                        if (yes && !lbUse.Items.Contains(s))
                                            lbPodhodit.Items.Add(s);
                                    }
                                    catch { }
                                    yes = true;
                                    try
                                    {
                                        for (int k = 0; k < count; k++)
                                            if ((!vertgor) && (ss[k].ToString().ToUpper() == s[k].ToString().ToUpper() ||
                                                ss[k].ToString().ToUpper() == " "))
                                            { }
                                            else
                                                yes = false;
                                        if (yes && !lbUse.Items.Contains(s))
                                            lbPodhodit.Items.Add(s);
                                    }
                                    catch { }
                                }
                            }
                        }
                    }
                }
            }
            if (e.Button.ToString() == "Right")
            {
                if (RMX == tx && RMY == ty)
                {
                    Word w1 = null, w2 = null;
                    bool tb = true;
                    /*Letter l2 = null;
                    foreach (Letter l in LetterArray)
                    {
                        if (l.CooX == tx && l.CooY == ty)
                            l2 = l;    
                    }LetterArray.Remove(l2);
                    */
                    foreach (Word w in WordArray)
                    {
                        if (w.napravlenie)
                        {
                            if (w.CooX == ((RMX < tx) ? RMX : tx) && w.CooY <= ((RMY < ty) ? RMY : ty) &&
                                (w.CooY + w.name.Length-1 >= ((RMY < ty) ? RMY : ty)))
                            {
                                if (DialogResult.Yes == MessageBox.Show("Удалить слово " + w.name + "?", "Удаление", MessageBoxButtons.YesNo))
                                    w1 = w; 
                                tb = false;
                            }
                        }
                        else
                        {
                            if (w.CooY == ((RMY < ty) ? RMY : ty) && w.CooX <= ((RMX < tx) ? RMX : tx) &&
                                (w.CooX + w.name.Length-1 >= ((RMX < tx) ? RMX : tx)))
                            {
                                if (DialogResult.Yes == MessageBox.Show("Удалить слово " + w.name + "?", "Удаление", MessageBoxButtons.YesNo))
                                    w2 = w;
                                tb = false; 
                            }
                        }
                    }
                    WordArray.Remove(w1);
                    WordArray.Remove(w2);
                    try
                    {
                        if (tb)
                        {
                            Word w3 = null;
                            if (lbUse.SelectedItem != null)
                            {
                                foreach (Word w in WordArray)
                                    if (lbUse.SelectedItem.ToString() == w.name)
                                        w3 = w;
                            }
                            if (w3 != null)
                                if ((Math.Abs(w3.CooX - RMX) < 2) && (Math.Abs(w3.CooY - RMY) < 2))
                                {
                                    w3.ComX = RMX;
                                    w3.ComY = RMY;
                                }
                        }
 
                    }
                    catch { }
                    FillUses();
                }
                SelP = new Point(-1, -1);
                SelR = new Rectangle(-1, -1, 0, 0);
            }
            Invalidate();
        }
 
        void lb_Click(object sender, EventArgs e)
        {
            if (SelR.X != -1)
            {
                WordNow = ((ListBox)sender).SelectedItem.ToString();
                bool tb = true;
                foreach (Word w in WordArray)
                {
                    if (w.CooX == SelR.X && w.CooY == SelR.Y && w.napravlenie == vertgor)
                    {
                        w.name = WordNow;
                        tb = false;
                    }
                }
                if (tb)
                {
                    Rectangle tr = new Rectangle(0, 0, PoX, PoY);
                    int xx = SelR.X, yy = SelR.Y;
                    if(vertgor) 
                        yy--;
                    else xx--;
                    if ((Dyrka.Contains(xx, yy)) || (!tr.Contains(xx, yy)))
                        WordArray.Add(new Word(SelR.X, SelR.Y, -1, -1, WordNow, vertgor));
                    else
                        WordArray.Add(new


Добавлено через 2 минуты
Цитата Сообщение от AzaKendler Посмотреть сообщение
да что то не позволяет уже редактировать. Я бы внес конечно - это правильно
модераторов попросить, внесут.

если ТС не против(я так понял), внесите, пожалуйста
0
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
26.08.2011, 21:48  [ТС] 29
Да я не против. Вносите пункт. "Я математик и стал прогером и мне знания супер пригодились"
0
Почетный модератор
11531 / 4325 / 449
Регистрация: 12.06.2008
Сообщений: 12,428
26.08.2011, 21:51 30
Всё ещё зависит от того, что называть математикой. Лично я под математикой понимаю какие-то серьёзные математические методы (которых я не знаю... а какие знал - те успешно забыл ). А переводить числа из одной системы счисления в другую - это основы арифметики. Как делить и умножать числа конечно нужно знать... без этого, не то что бы программистом, но никем, кроме дворника работать не получится.
0
Заблокирован
26.08.2011, 21:52 31
наверное, более корректно будет "я занимался точными науками, но стал проггером и мне бывшие знания помогают" и или как-то так, ибо математиков(чистых) мало.
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
26.08.2011, 21:52 32
Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
Proverka1 = new Button(),
Proverka2 = new Button();
Дальше не читал. Фиговый вы программист
0
Humanoid
26.08.2011, 21:53
  #33

Не по теме:

Пока добавил как предложили... решайте, как лучше назвать - переименую

0
Заблокирован
26.08.2011, 21:54 34
Цитата Сообщение от Humanoid Посмотреть сообщение
а какие знал - те успешно забыл
то же самое
0
iama
26.08.2011, 21:55
  #35

Не по теме:

Я вообще сделал бы так:

  1. Я - программист, занимался точными науками, об этом не жалею
  2. Я - программист, не занимался точными науками, об этом не жалею
  3. Я - программист, занимался точными науками, и жалею об этом
  4. Я - программист, не занимался точными науками, и жалею об этом

0
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
26.08.2011, 21:58  [ТС] 36
iama, ну то хоть будет писать что жалеет о точных науках? не надо заведомо мертвых пунктов. Оставляем как есть. просто и понятно все. да-нет-зайдите позже
0
Заблокирован
26.08.2011, 21:59 37
Цитата Сообщение от iama Посмотреть сообщение
Сообщение от Dzhej-Dzhej
Proverka1 = new Button(),
Proverka2 = new Button();
Дальше не читал. Фиговый вы программист
код писАлся лет 5 назад, и весь я не выложил
Да считайте, как хотите, ВЫ же по С++, а я по шарпу

Добавлено через 55 секунд

Не по теме:

Цитата Сообщение от iama Посмотреть сообщение
Не по теме:
Я вообще сделал бы так:
Я - программист, занимался точными науками, об этом не жалею
Я - программист, не занимался точными науками, об этом не жалею
Я - программист, занимался точными науками, и жалею об этом
Я - программист, не занимался точными науками, и жалею об этом
Вот это правильно

0
iama
26.08.2011, 22:01
  #38

Не по теме:

Dzhej-Dzhej, признайте, переменные транслитом - дурной тон, на любом ЯП

Заканчиваю оффтоп :)

0
Заблокирован
26.08.2011, 22:04 39
Цитата Сообщение от AzaKendler Посмотреть сообщение
Может ли плохой математик был хорошим программистом?
А я бы перефразировал этот вопрос вот так "Нужны ли способности в математике, что бы стать хорошим программистом?"
Ответ: несомненно.
0
Dzhej-Dzhej
26.08.2011, 22:12     Может ли плохой математик был хорошим программистом?
  #40

Не по теме:

Цитата Сообщение от iama Посмотреть сообщение
Dzhej-Dzhej, признайте, переменные транслитом - дурной тон, на любом ЯП
млин, ну проггер ведь решает как и что обозвать: myVariables, myvariables или moiPeremennye

еще раз напомню, что писАл в 2005 году под нэт 2.0, да и проггером я профессионально стал год назад

0
26.08.2011, 22:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.08.2011, 22:12
Помогаю со студенческими работами здесь

Как стать хорошим программистом?
Здравствуйте. Так как же им стать? Сначала я думал, что изучу книгу по с++ для начинающих, потом...

Хочу стать хорошим программистом
мне сделать чтоб стать хорошим программистом не выходя из дома...

Реально ли стать хорошим и востребованным программистом с 28 лет?
Закончил радиотехнический техникум в далеком 2006 году, работал по этой специальности много и...

Какие книги нужны, чтобы стать хорошим программистом по C++ с нуля
Пожалуйста подскажите,какие книги нужны,чтобы стать хорошим программистом по С++ с нуля.Учусь на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru