Loading...
torosov avatar torosov -4 Точки

Поздравления за домашното.

Единствената ми забележка е, че във втора задача си забравил да вземеш корен квадратен от резутата, при изчисляването на разстоянието между две точки. 

0
Filkolev avatar Filkolev 4482 Точки

Math.Pow е препоръчително да се ползва само за по-тежки изчисления, като да вдигнеш реално число на степен друго реално число. За степен цяло число по-бързо е ако се смята в цикъл, а за повдигане на степен 2 - по-скоро да се напише с обикновено умножение.

В Point3D, ред 17 е изпуснат this-a.

В Path3D добавянето на множество точки към списъка може да стане с AddRange метода вместо с цикъл.

При четенето на path от файл, хубаво е регекса ти да хваща цяла точка, т.е. да разпишеш по-подробно формата, който очакваш, за да не се окаже, че някой ти подава нещо такова например (което не е валидно): point: x=-3 x=20 x=0

2
GalyaGeorgieva avatar GalyaGeorgieva 88 Точки

Оказа се, че доста се затрудних с домашното в частта Problem 3.Paths
Не съм стигнала още до Class Storage, защото гледах решението по-горе и доста се обърках. (има някакви методи с които се пълни масив...)
Доколкото разбирам пъво трябва да направим клас, който да съхранява поредица от 3D точки,

след това трябва да направим друг клас, който има два метода: единият да записва изчисления път на поредица от точки, а другия....???

Имам КОД за за първия клас и исках да знам дали така е правилно да се напише. (сложила съм два класа в един файл, но е само за демо-то)
 

0
Niki_90 avatar Niki_90 4 Точки

Галя ще ти подскажа малко. Класа Path ти се състои от  List<Point3D> и метод AddPoint(Point3D point) (Добави си метод за добавяне нa елементи към листа в твоя клас). Относно Storage класа защо не разгледаш JSON.NET библиотечката - има я в NuGet. (или да ползваш XML но той се чете по гадно). Имаш 4 метода. Първия сериализира обекта от клас Path, втория записва стринга в текстов файл , третия чете стринга и четвъртития десериалира. 

1
06/06/2015 23:21:01
pataroka avatar pataroka 319 Точки

 

Filkolev Не знам, дали така е по-правилно или ни карате да ги пишем тия this-ове заради предстоящата джава, ама C# компилатора разбира за кой стартинг пойнт става дума в случая. Включително може да се мине и без this-овете пред пропъртитата.

В нещо подобно, където конструктора бърка директно във фийлдовете без да ползва пропъртита,  this ще е задължително.

public Point3D(double x, double y, double z)
        {
            this.x = x;
            this.y = y;
            this.z = z;
        }

то и за да няма недоразумения уж в последната нейминг конвенция фийлдовете трябва да се пишат с '_' демек горното трябва да изглежда така:

public Point3D(double x, double y, double z)
        {
            _x = x;
            _y = y;
            _z = z;
        }

Поправете ме ако греша, или не съм доразбрал на Майкрософт изискванията...

0
07/06/2015 10:38:14
GalyaGeorgieva avatar GalyaGeorgieva 88 Точки

До ТУК стигнах с задача 3.Paths и се предавам. Работи, но има какво да се пипне.
Ако има някой съвети за подобряването й, насреща съм.

0
onefen avatar onefen 27 Точки

Някой може ли да ми каже как да избегна един проблем в задача 3. Значи напрвил съм го така за сега - в основанта си програма питам потребителя колко точки иска да въведе и си правя един for цикъл от 0 до колкото ми е казал. Вътре в този for цикъл вземам кординатите и на точката и си викам метода от класа Storage, който ги записва в един текстов файл с помоща на StreamWriter - значи би трябвало ако има 2 точки да речем във файла си да има 2 реда с по 3 числа на вески ред разделени с интервал, но на пракатика винаги има само 1 ред в който са кординатите на последната точка, а останалите се затриват. Тоест StreamWriter-a винаги пише от началото на файла. Как да избегна това?

0
Niki_90 avatar Niki_90 4 Точки

Вариqнта който ползваш можеби не е от най-бързите но можеш да използваш този конструктор за StreamWriter. 

 public StreamWriter(string path, bool append);  

Защо не ползваш StreamBilder и не записваш накрая?

1
07/06/2015 20:05:20
onefen avatar onefen 27 Точки

https://github.com/onefen/Homework-Static-Members-and-Namespaces

Ето ги моите решение. Задачите работят коректно без трета - в нея има два проблема. Първият вече го спонах какъв е. Вторият е, че ми дава Expetion при четенето от файла.

0
vilimor avatar vilimor 1 Точки

Здравейте, аз пък има проблем с добавянето на Reference във  втора задача още. Правя всичко точно както е показано в клипчето, отстрани в Solution Explorer ми излиза, че съм добавила вече първа задача и мога да я използвам, но после като започна да извиквам класа Point3D не се получава. Ако някой може да ми помогне ще съм му много благодана. Лек ден на всички!

0
WindWallk avatar WindWallk 95 Точки

Добави ли using namespace-a на Point3D ?

0
vilimor avatar vilimor 1 Точки

Да, добавих го, но след като започна да викам класа point3d ми излиза по подразбиране namespace_01Point3d, а не самия клас..

0
WindWallk avatar WindWallk 95 Точки

Най-добре ще е да покажеш нагледно точно какво имаш предвид, че така нещо не мога да те разбера.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.