Loading...
Anichka avatar Anichka 93 Точки

[Homework] C# Basics - Primitive data types and variables

Здравейте :)

Моите имплементации за второто ни домашно можете да видите тук

Всичко, което ми се стори, че е необходимо да обясня, е под формата на коментар в сорс кода.

В Проблем 3 съм използвала отделен метод, въпреки че в курса все още не сме стигнали до методи. Наистина ме домързя да пиша if statement 4 пъти, още повече че щеше да бъде един и същ.

Надявам се не съм допуснала фрапантни грешки :)

Update: Последно нанесени промени в сорс кода на 19.03.2014

Тагове:
40
Programming Basics
jkanchelov avatar jkanchelov 8 Точки

Eто и моето решение на задача 9 от домашното . Ще се радвам на някакъв отзив и предложение за по-лесно решаване на задачата :) 

class isoscelesTriangle
{
static void Main()
{
    char symbol = '\u00A9';
    double counter = 1;
    int red = 4;
    double col = 2 * red - 1;
    for (int i = 0; i < red; i++)
    {
        for (int j = 0; j < col; j++)
        {
            if (j == (col / 2 - counter / 2) || j == (col / 2 + counter / 2 - 1))
            {
             Console.Write(symbol); 

             }

            else if  (i == red - 1 && (j == (col / 2 - counter / 2 + 2) || j == (col / 2 + counter / 2 - 3)) )

            {

                Console.Write(symbol );

            }

            else

                Console.Write(" ");

        }

        counter = counter + 2;

        Console.WriteLine();

    }

}

}


2
zontak avatar zontak 457 Точки

Това също ще ти свърши работа.. Знам още един начин.. ако някой се интересува ще си поиграя 15 мин да го драсна :)

        static void Main()
        {
            Console.OutputEncoding = Encoding.UTF8;
            char c = '\u00A9';
            Console.WriteLine("          " + c + "           ");
            Console.WriteLine("        " + c + "   " + c + "     ");
            Console.WriteLine("      " + c + "       " + c + "       ");
            Console.WriteLine("    " + c + "   " + c + "   " + c + "   " + c);
        }

6
zontak avatar zontak 457 Точки
Иии.. още нещо което забравих.За напред не използвай символи като " j " и " i " защото си приличат и лесно при по-голям код ( какъвто аз не съм писал , но така гледах по видеата ) могат да се убъркат.. и да ти направи гаф :)) Можеш да използваш някакви именца или " к " и " i " ,който е по-трудно да убъркаш :P Постарал си се за кода.. поздравления :))
4
jkanchelov avatar jkanchelov 8 Точки
Мерси за отговора :) Опитах се просто тъй като съм прочел материала и до циклите да го направя по друг начин ,в който да определяш сам колко редове искаш. Иначе кръстих променливите i и j тъй като като не се сещам за подходящо наименование ;/
0
kasskata avatar kasskata 492 Точки

Искам да ви подсетя че на изпита ще има задачи с рисуване на конзолата така че програми като тази с рисуването на конзолата ще бъдат много полезни разширени,така че аз моята я разширих за да си тренирам и ето какво стана:

имайте предвид че работи само с НЕЧЕТНИ,но работи без грешки сподер мен => ЦЪКалка

2
zontak avatar zontak 457 Точки
Ще има задачки прав си :)) Ако на твоя примерен код му сложа нечетното 13 , трябва да ми изкара триъгълник с 13 реда или как :? Работи по някакъв начин но не мога да му схвана смисъла ;д Би ли дал маалко инфо :)) И ми ги дава със " С " а не с Копирайд-а .. Той не трябва ли да се декларира от горе в чар-а с кода от таблицата или се бъркам.. :? Не съм много напред с нещата затова питам :PpP~
5
Anichka avatar Anichka 93 Точки

За да излезе копирайта са необходими някои допълнителни неща.

Под using System; постави using System.Text; ако го нямаш вече. Кодът, който ти трябва е Console.OutputEncoding = Encoding.UTF8; в мейн метода.

Имай предвид, че ще изпише каракацили, ако шрифта на конзолата ти е растерен. Използвай Lucida Console или Consolas с по-голям размер. Можеш да го смениш като си отвориш конзолата и влезеш в Properties. Опиши това в коментар в сорс кода(ако е за домашното), защото ако проверяващият не го знае, ще реши че не си се справил. Просто по подразбиране конзолата е с растерен шрифт.

Всичкото това обаче според мен не е задължително да се прави, но знам ли ... Аз за всеки случай съм го направила :)

kasskata, решението ти много ми допада. По-добро е от моето :)


0
Lyubo avatar Lyubo 172 Точки
kasskata поиграх си малко и подобрих решението ти, вече работи и с "ЧЕТНИ" числа :) . На местата където направих промени съм за коментирал твоят код, а моят е под него. Решението може да се оптимизира/съкрати още, но това ще оставя на теб.
1
YankoVanov avatar YankoVanov 72 Точки

Привет колеги! Ето и моите решения CLICK  към темата.

По специфичното в тях е решението на зад.08 IsoscelesTriangle където съм я направил с двумерен масив и работи с всякакъв вход, както и зад. 09. ExchangeVariableValues където разменям стойностите без да използвам 3-та променлива. Очаквам вашите коментари и предложения :)

1
LenaB avatar LenaB 112 Точки

Понеже преглеждам разни стари решения забелязах, че в задачата за банковите данни си дефинирал баланса като int. Не би ли следвало да е decimal, при положение, че сумата съдържа стотинки?

0
iliya_boyanov avatar iliya_boyanov 28 Точки
Здравей Ани :),
За това ниво на курса както и да ги напишеш е ОК.
Въпреки това мисля че е хубаво това, че включваш някои неща които още не сме взели.
Пускам и моите решения Homework поиграл съм си с триъгълника - чете се височината му от конзолата има и някой друг коментар в кода, ако ти е интересно може да го погледнеш. 
2
Masovski avatar Masovski 211 Точки

На задача №12 - Null Values Arithmetic - Try to add some number or the null literal to these variables and print the result. 

 

След като вече имам int? nullableInt = null;, се иска от мен да добавя null или number.

Въпросът ми е - трябва да събера предходната стойност с новата или трябва да assign-а нова стойност ?

 

Аз го направих с добавяне към текущата, което пак извежда null, разбираемо, но нали така пише в условието.

Вие как го направихте? 

2
YankoVanov avatar YankoVanov 72 Точки
Трябва да добавиш стойност към нулевата променлива, за да видиш какъв резултат ще даде(интересно).
1
TodorovH avatar TodorovH 216 Точки

След три дена бой с лаптопа, най-накрая успях да сътворя работеща програма за отпечатване на равнобедрен триъгълник по зададен брой символи на основата! Със сигурност има метод, който да спести някой и друг ред! Моля за проверка и препоръки за оптимизация! Благодаря предварително!

За момента програмата работи само с четни числа, което отговаря на условието на задачата!

Ето и решението:

http://pastebin.com/xN7BfQpC

Поздрави

Хри100 ТодорOFF

3
iliya_boyanov avatar iliya_boyanov 28 Точки
Хубаво е че си си поиграл така. Препоръката ми е да се опитваш да правиш кода по четим. Височината на триъгълника е равна на символите в основата, ако го мислиш така може би ще е по лесно за имплементация. Виж моето решение работи с всякакви числа по зададена височина цък .
Поздрави
Бай Илия
3
TodorovH avatar TodorovH 216 Точки

Аз си мисля, че кода ми е доста четим, но щом казваш може и така да е! Ще се постарая да поправя тоя пропуск!

Поправка:

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

Постарах се да напиша мое си решение, понеже като твоето видях вече в сайта на Телерик, използвал съм малко повече цикли, но пък мисля, че това е добре, така ставаме по-добри!

Благодаря за отговора и за препоръките!

0
Lyubo avatar Lyubo 172 Точки
TodorovH май имаш грешка, защото решението ти работи с четни и нечетни числа без никакви проблеми :) . За коментирах само if-а и тръгна Цък. До тук виждам че имаш една променлива която не е използваш никъде, но иначе кода наистина може да се оптимизира/съкрати малко.
2
mantodeus avatar mantodeus 17 Точки
Забелязах една малка неточност в задача 5 на Anichka, символа който се търси е * и кода е друг :) Понякога най-елементарните задачи се объркват в бързината. Иначе интересен подход към Comparing Floats, добра идея за ползването на абсолютните стойности.
0
RoYaL avatar RoYaL Trainer 6849 Точки

https://github.com/RoYaLBG/SoftUni/blob/master/Primitive-data-types.rar

Ми, освен и аз да си пусна домашното... :) Честно казано не се разбира от условията в кои задачи трябва да промптнеш юзъра да пише и в кои просто трябва да декларираш разни неща.

0
kiko144 avatar kiko144 795 Точки
Ако знаеш как, по-добре на всички да взимаш данни от конзолата , тъкмо ще се упражняваш, но ако не знаеш няма да е проблем и да си ги вкарваш в кода.
1
kiko144 avatar kiko144 795 Точки

Колеги, ето моите решения на 2-рото домашно! Ще се радвам ако ги прегледате и споделите забележки и впечетления!

DataTypes Homework

1
Plami avatar Plami 373 Точки

Здравей Anichka,

Твоите решения на 2-то домашно мнoго ми помагат като се има в предвид, че съм начинаеща :) Понеже сега съм на 9 задача и мисля, че трябва да я допълниш. В условието искат да се принтират променливите преди и след тяхната размяна. Ако искаш я прегледай :) Ето и условието, което аз имам:

Declare two integer variables a and b and assign them with 5 and 10 and after that exchange their values. Print the variable values before and after the exchange.

 

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