Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 72, средняя оценка - 4.92
ViT(Vet@l)
29 / 28 / 2
Регистрация: 13.12.2010
Сообщений: 334
#1

Как изучить C# за 2 недели для решения простейших задач - C#

07.02.2012, 22:37. Просмотров 9683. Ответов 62
Метки нет (Все метки)

Обучение за 2 недели

Вот подвернулась возможность. Дали 2 недели, советовали тута учить.
Необходимо дойти до уровня, когда можно будет выполнить эти и эти задания. И ещё несколько подобных.
Посоветуйте пожалуйста, среду разработки и литературу+ресурсы+видео курсы и т.п. Которые максимально полезно и быстро смогут "влиться" в мою голову
(есть небольшой опыт использования С++)
Советовали ещё посмотреть видео уроки "с# А.Гудок"
не подскажите, где можно найти?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2012, 22:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как изучить C# за 2 недели для решения простейших задач (C#):

Посоветуйте литературу для решения простейших задач - C#
здравствуйте. помогите с решением двух задачек. первая: b= 1+х^"/2. вторая: c= модуль х минус модуль Y / 1+ модуль xy. если не...

Язык программирования для решения олимпиадных задач? - C#
Вечер в хату арестанты, подскажите, новичку в олимпиадном программировании, на каком языке программирования лучше писать задачи? Я знаю C#,...

Средства C# для решения задач управления файловой системой - C#
Добрый вечер. Был задан такой вопрос: 1. Управление файловой системой – 1.1. Средства C# для решения задач управления файловой...

Насколько рационально учить C# для решения моих задач? - C#
Всем привет. Я не много нуб, но так, как наставника нету приходится просить интернет. Я начинал учить хтмл,ксс и питон. и вроде бы всё...

Есть ли специальные библиотеки для решения задач высшей математики - C#
подскажите пожалуйста есть ли для c# специальные библиотеки для решения задач высшей математики типо решения уравнений решения...

Применение нейронных сетей Хопфилда и Хемминга для решения задач коммивояжера - C#
Всех приветствую! Дали тему курсовой, Применение нейронных сетей Хопфилда и Хемминга для решения задач коммивояжера у меня проблема с...

62
ViT(Vet@l)
29 / 28 / 2
Регистрация: 13.12.2010
Сообщений: 334
11.02.2012, 00:17  [ТС] #31
Картинка уже сделана (да, ничего сложного там нету).
Меня именно hashtable и интересует Можно ли его считать аналогом HashMap в Java?
0
ibsn
3 / 3 / 0
Регистрация: 10.02.2012
Сообщений: 7
11.02.2012, 00:22 #32
Java не изучал, но hashtable на первый взгляд именно то, что нужно.
1
ViT(Vet@l)
29 / 28 / 2
Регистрация: 13.12.2010
Сообщений: 334
13.02.2012, 19:46  [ТС] #33
Ребята, киньте пожалуйста парочку линков, где можно доходчиво почитать о drag and drop.
Есть задание, в котором необходимо создавать на форме прямоугольник (фиксированого размера) с текстом (который вводит пользователь). Потом этот прямоугольник нужно передвигать с помощью мышки.
0
ibsn
3 / 3 / 0
Регистрация: 10.02.2012
Сообщений: 7
14.02.2012, 05:28 #34
тут опять же можно разбить по задачам и найти решения:
1. определить положение курсора
2. определить нажатие кнопки мышки
3. определить отжатие кнопки мышки
4. определить перемещение курсора (при условии второго пункта)
5. переместить элемент, согласно положению курсора (при условии четвертого пункта после третьего пункта, основываясь на первом пункте)

что тут еще может быть нового?)
1
ViT(Vet@l)
29 / 28 / 2
Регистрация: 13.12.2010
Сообщений: 334
17.02.2012, 00:15  [ТС] #35
Нужна помощь
Есть файл такого содержания:
San Jose -> San Francisco
San Jose -> Anchorage

New York -> Anchorage
New York -> San Jose
New York -> San Francisco
New York -> Honolulu

Anchorage -> New York
Anchorage -> San Jose

Honolulu -> New York
Honolulu -> San Francisco

Denver -> San Jose

San Francisco -> New York
San Francisco -> Honolulu
San Francisco -> Denver
Слева от "->" город из которого вылетаем, а справа куда летим.
Как "забить" данные так, чтобы получить массив с ключем, в котором ключ - город из которого, а значение - это города куда можно лететь.

Есть следующий код:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Collections;
 
namespace jghj
{
    class Program
    {
        static void Main(string[] args)
        {
            StreamReader f1 = new StreamReader("text.txt");
 
            Hashtable openWith = new Hashtable();
 
 
            String str = " ", key="", value ="", str2 = " ";
 
            while ((str = f1.ReadLine()) != null)
            {
                if (str != "")
                {
                    key = str.Substring(0, str.IndexOf(" ->"));
 
                    if (!openWith.Contains(key) && key != "")
                    {
                        while ((str2 = f1.ReadLine()) != "")
                            value += str2.Substring(str.IndexOf("-> ") + 3);
                        openWith.Add(key, value);
                    }
                }
 
            }
 
            foreach (DictionaryEntry de in openWith)
            {
                Console.WriteLine(de.Key + " letim v " + de.Value);
            }
            
            Console.ReadKey();
        }
    }
}
Получаю не то, что надо. С ключем все ок, а вот со значениями... Ошибка явно здесь:
C#
1
while ((str2 = f1.ReadLine()) != "")
Видимо считываю не то.
Подскажите пожалуйста, как правильно добавить значения.
0
ibsn
3 / 3 / 0
Регистрация: 10.02.2012
Сообщений: 7
17.02.2012, 00:33 #36
я сплитом воспользовался бы

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 String str;
 
 StreamReader f1 = new StreamReader("text.txt");
 Hashtable openWith = new Hashtable();
 
 while ((str = f1.ReadLine()) != null)
 {
   string[] pieces = str.Split(new string[] { " -> " }, StringSplitOptions.None);
   
   if (!openWith.Contains(pieces[0]) && pieces[0] != "")
   {
      openWith.Add(pieces[0], pieces[1]);
   }
 }
 
 foreach (DictionaryEntry de in openWith)
 {
    Console.WriteLine(de.Key + " letim v " + de.Value);
 };
Добавлено через 3 минуты
только смысл не понятен. у тебя ключ выступает в роли значения вылета. и в коды ты отбрасываешь дубликат, соответственно, у тебя будет показываться только один пункт отправления из всего списка.
0
ViT(Vet@l)
29 / 28 / 2
Регистрация: 13.12.2010
Сообщений: 334
17.02.2012, 00:42  [ТС] #37
Так для того что бы добавить все значения я и хотел использовать while.
C#
1
2
while ((str = f1.ReadLine()) != "")
    value += str.Substring(str.IndexOf("-> ") + 3);
Что бы считывать от первой строки с городом-ключем и до пустой строки (которая разделяет города-отправители). Вот и спрашиваю, как бы реализовать правильно
0
ibsn
3 / 3 / 0
Регистрация: 10.02.2012
Сообщений: 7
17.02.2012, 01:00 #38
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
 string str;
 string[] delimetr = new string[] { " -> " };
 
 StreamReader f1 = new StreamReader("text.txt");
 Hashtable openWith = new Hashtable();
 
 while ((str = f1.ReadLine()) != null)
 {
   string[] pieces = str.Split(delimetr, StringSplitOptions.None);
   
   if(pieces[0] != "" && pieces[1] != "") 
   {
                
      if (!openWith.Contains(pieces[0]))
      {
         openWith.Add(pieces[0], pieces[1]);
      }
      else
      {
         openWith[pieces[0]] += ", " + pieces[1];
      }
   
   }
 }
 
 foreach (DictionaryEntry de in openWith)
 {
    Console.WriteLine(de.Key + " letim v " + de.Value);
 };
Добавлено через 2 минуты
но лучше разобраться как построить вложенные массивы, так красивее, но скорее не быстрее в рамках текущей задачи

Добавлено через 5 минут
твой код не прошел бы тесты, если структура файла поменяли, разбросав направления в разнобой.
1
I2um1
Злой няш
1405 / 1103 / 142
Регистрация: 05.04.2010
Сообщений: 1,949
17.02.2012, 01:27 #39
ibsn, это же надо умудрится написать на столько кривой код. (:
1. Когда открываем StreamReader, то не забываем его закрыть. Для особо забывчивых, как я, есть специальный сахар using или статические методы класса File.
2. Когда считываем файл, то обязательно указываем кодировку, а то иначе с этим потом можно очень хорошо намучатся на разных системах.
3. И если использовать коллекцию, то лучше уже обобщенную.
4. Благодаря только StringSplitOptions.None вы увеличили шанс возникновения исключения.
5. И проверять лучше на string.Empty, а не на "".
6. Куда мне там еще говорить о Linq, string.Format или StringBuilder и нормальных именах переменных.
Это я все к тому, что не учите плохому.
1
ibsn
3 / 3 / 0
Регистрация: 10.02.2012
Сообщений: 7
17.02.2012, 01:40 #40
Blood-Angel, я только добавил Split в этот код. В детали не вникал, да и зачем.

>5. И проверять лучше на string.Empty, а не на "".
согласен

>6. Куда мне там еще говорить о Linq, string.Format или StringBuilder и нормальных именах переменных.
оставим это для автора. или вы не согласны, что split лучше реализации автора с indexof?

с C# и с его структурой я очень плохо знаком. об этом я уже говорил.

исправьте ошибки и перепишите код, чтобы не быть голословным и помочь изучающим, пожалуйста.
0
viktorrrr
45 / 47 / 1
Регистрация: 11.02.2010
Сообщений: 375
17.02.2012, 10:31 #41
Не пойму, чем Гудок вам не нравится. По-моему, крут. Ну местами устарел, но это касается использования библиотек. Вижуал студио сразу выдаст предупреждение. А для хорошего старта самое то. Я посмотрел виндовз форм. Прям пробелы в знаниях четко заполняет. Тут главное работать вместе с ним. Я работаю так. Делаю все за ним и парралельно на этой же основе свое. Сначала тупишь. а потом появляется ощущение дикой радости, понимания).
0
Vitall
750 / 530 / 23
Регистрация: 03.07.2011
Сообщений: 1,020
17.02.2012, 11:35 #42
Цитата Сообщение от viktorrrr Посмотреть сообщение
Как изучить C# за 2 недели для решения простейших задач

Не по теме:

Я смотрю тут времени больше ушло только на обсуждение этой темы

1
ibsn
3 / 3 / 0
Регистрация: 10.02.2012
Сообщений: 7
17.02.2012, 15:00 #43
Цитата Сообщение от Vitall Посмотреть сообщение

Не по теме:

Я смотрю тут времени больше ушло только на обсуждение этой темы

Не по теме:


еще 4 дня осталось )))

0
ViT(Vet@l)
29 / 28 / 2
Регистрация: 13.12.2010
Сообщений: 334
17.02.2012, 20:20  [ТС] #44
ibsn, спасибо! Про сплит не знал - очень пригодилось
По условию задания города идут как я указал, могут только увеличиваться разрывы между городами отправки.

Vitall, КПД -> 0
0
ViT(Vet@l)
29 / 28 / 2
Регистрация: 13.12.2010
Сообщений: 334
18.02.2012, 22:41  [ТС] #45
Осталось последнее задание.
Пишем слово, давим добавить и получаем на форме это слово в прямоугольнике. Должна быть возможность перетягивания прямоугольника.
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Okoshko
{
    public partial class Form1 : Form
    {
        public int x, y, x1, y1;
        
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Label Nomer = new Label(); //массив кнопок, создан заранее
            Nomer.Location = new System.Drawing.Point(35, 15);
            Nomer.Size = new System.Drawing.Size(60, 40);
            Nomer.Text = textBox1.Text;
            Nomer.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            Nomer.MouseDown += new System.Windows.Forms.MouseEventHandler(Nomer_MouseDown); 
            Nomer.MouseUp += new System.Windows.Forms.MouseEventHandler(Nomer_MouseUp); 
            Controls.Add(Nomer);
        }
 
        private void Nomer_MouseDown(object sender, EventArgs e)
        {
            x = System.Windows.Forms.Cursor.Position.X;
            y = System.Windows.Forms.Cursor.Position.Y;
        }
 
        private void Nomer_MouseUp(object sender, EventArgs e)
        {
            x1 = System.Windows.Forms.Cursor.Position.X;
            y1 = System.Windows.Forms.Cursor.Position.Y;
 
            Nomer.Location = new Point(35 + (x1 - x), 15 + (y1 - y));
 
        }
        
    }
}
Почему возникает ошибка (Элемент "Nomer" не существует в текущем контексте) в строке:
C#
1
Nomer.Location = new Point(35 + (x1 - x), 15 + (y1 - y));
Видимо потому что динамически создан прямоугольник (label)? Как решить?
0
18.02.2012, 22:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2012, 22:41
Привет! Вот еще темы с ответами:

Перегрузка простейших операций в простейших классах - C#
Реализовать класс из индивидуального задания. Каждый разрабатываемый класс должен содержать: скрытые данные перегрузку конструкторов ...

Перегрузка простейших операций в простейших классах - C#
Общая постановка задачи: Реализовать класс из индивидуального задания. Каждый разрабатываемый класс должен содержать: скрытые данные ...

Перегрузка простейших операций в простейших классах - C#
Общая постановка задачи: Реализовать класс из индивидуального задания. Каждый разрабатываемый класс должен содержать: o скрытые данные ...

Нужны решения для любых простейших задач - Assembler
Здравствуйте. Меня интересуют ну очень простые программы на асме, для учебных целей, что-то на манер сложенеи двух чисел, поиск...


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

Или воспользуйтесь поиском по форуму:
45
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru