Loading...
NikolaSpasovMiloshev avatar NikolaSpasovMiloshev 0 Точки

Може ли помощ за задача 4. Съединяване на текст и числа

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("firstname");
            var firstname = Console.ReadLine();
            Console.WriteLine("lastname");
            var lastname = Console.ReadLine();
            Console.WriteLine("age");
            var age = int.Parse(Console.ReadLine());
            Console.WriteLine("town");
            var town = Console.ReadLine();
            Console.WriteLine("You are {0} {1}, a {2}-years old person from {3}.",
                firstname, lastname, age, town);

        }
  }
}

Това е кода който съм написал,но Judge системата не ми го приема ако може малко помощ ще съм много благодарен!

Тагове:
0
Programming Basics
cheresharov avatar cheresharov 42 Точки

Не трябва да имаш тези :

Console.WriteLine("firstname");

Console.WriteLine("lastname");

...

 

Единствено трябва да отпечаташ

Console.WriteLine("You are {0} {1}, a {2}-years old person from {3}.",
                firstname, lastname, age, town);

0
25/10/2016 23:25:07
NikolaSpasovMiloshev avatar NikolaSpasovMiloshev 0 Точки

Тоест да изтрия всичко друго и да напиша само последния ред ?

 

0
cheresharov avatar cheresharov 42 Точки

Да. Точно така

0
NikolaSpasovMiloshev avatar NikolaSpasovMiloshev 0 Точки

направих го но judge системата ми дава грешка при компилацията

0
stanchev1 avatar stanchev1 122 Точки

Каква грешка ти изкарва ? Най-вероятно Judge иска да принтираш само последният ред.

0
25/10/2016 23:26:50
NikolaSpasovMiloshev avatar NikolaSpasovMiloshev 0 Точки

Judge системата ми дава грешка при компилацията

 

0
koksibg avatar koksibg 892 Точки

Judge системата мисля, че очаква направо да си напишеш имената - поне доколкото си спомням (но виж със сигурност дали е така) , а не :

Console.WriteLine("firstname");

Console.WriteLine("lastname");

Console.WriteLine("age");

Console.WriteLine("town");

Т.е. трябва да ги махнеш тези редове. Пробвай без тях.

0
NikolaSpasovMiloshev avatar NikolaSpasovMiloshev 0 Точки

Пробвах,но пак не стана благодаря все пак !

0
morgan avatar morgan 30 Точки

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

0
dmaknev avatar dmaknev 49 Точки

(Мъчно ми е...)

Console.WriteLine(); печата на екрана това което си поставил в скобите и след това отива на нов ред.

Не знам какво е условието на задачата.(понеже не си го дал)

Но ако се очаква изход:

             Console.WriteLine("You are {0} {1}, a {2}-years old person from {3}.", firstname, lastname, age, town);

Където се въвеждат 4 променливи от потребителя, защо си изтрил инструментите за това? А те са:

            var firstname = Console.ReadLine(); //чака вход от клавиатурата за да го присвои на променливата firstname

            var lastname = Console.ReadLine(); // същтото но за lastname

            var age = int.Parse(Console.ReadLine()); //годините отиват в age

            var town = Console.ReadLine(); // и накрая града

(забелязваш ли че различни променливи се декларират все с едно и също "var")

Това е така, защото var може да приема всякаква стойност, но при правилен вход firstname, lastname и town, ще станат от тип string, защото са им били присвоени стрингове, докато age ще бъде от тип int, това е така защото с int.Parse ти превръщаш входа от Console.ReadLine() в int и тогава var age = int... е същото като да си написал int age = ...

Ти един път(по 4) имаш грешка опитвайки се да печаташ променливи които все още не са декларирани, т.е. нещо което не съществува към този момент, след това ги декларираш. Програмата ти трябва да изглежда така:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            var firstname = Console.ReadLine();
            var lastname = Console.ReadLine();
            var age = int.Parse(Console.ReadLine());
            var town = Console.ReadLine();
            Console.WriteLine("You are {0} {1}, a {2}-years old person from {3}.", firstname, lastname, age, town);

        }
    }
}

Но ако искаш може и така:

using System;
namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            var firstname = Console.ReadLine();
            var lastname = Console.ReadLine();
            var age = int.Parse(Console.ReadLine());
            var town = Console.ReadLine();


            Console.Write("You are ");
            Console.Write(firstname);
            Console.Write(" ");
            Console.Write(lastname);
            Console.Write(", a ");
            Console.Write(age);
            Console.Write("-years old person from ");
            Console.Write(town);
            Console.WriteLine(".");
        }
    }
}

Ползвайки Console.Write(), вместо Console.WriteLine(), указваш да не се преминава на следващ ред след печатането по екрана.

А има и друг вариант на записване на същото:

            Console.Write("You are "+firstname+" "+lastname+", a "+age+"-years old person from "+town+".");

Като в първия и последния пример са събрани 9 реда на 1, съответно последното не е пълна програма, а само отпечатването, няма да работи ако не си въвел променливите преди това и останалите задължителни компоненти на програмата, като главна функция, библиотеки които си ползвал(ако си ползвал[ти тук всъщност ползваш само System, защото всички ползвани функции в случая са само от там])

И не на последно място, НЕ слагай променливите в кавички, а само директно изписаните символи за отпечатване, такак както съм го направил аз. Да, "You are " също е стринг, но firstname със стойност стринг и ако си й присвоил "Петър", ако е без кавички спомената, ще се отпечата именно стойността й Петър, но ако е с кавички, ще се отпечата точно това което е в кавичките, а то ще е firstname... Т.е. ако си написал следната програма:

            var firstname = Console.ReadLine();
            Console.Write("You are ");
            Console.Write(firstname);

И който стартира програмата въведе:

Петър

След това на екрана ще се отпечата:

You are Петър

Но ако кодът изглежда така:

            var firstname = Console.ReadLine();
            Console.Write("You are ");
            Console.Write("firstname");

На екрана ще има следното:

Петър

You are firstname

Сега вече ясно ли е кое как работи, защо е така и защо програмата ти дава грешки?

0
morgan avatar morgan 30 Точки

Колега dmaknev, поздравления за положения труд да обясниш в детайли задачата, но имам чувството, че малко си се заблудил от представеното решение на колегата. Според мен той няма проблеми с декларирането, присвояването на стойност и отпечатването на променливи. Кодът му работи на 100%. Може би объркването идва от тези редове:

Console.WriteLine("firstname");
Console.WriteLine("lastname");
Console.WriteLine("age");
Console.WriteLine("town");

Те за Judge са излишни и съответно кодът му гърми. Но иначе няма никакъв проблем да бъдат използвани. Той не се опитва да принти недекларирана променлива, а подканя потребителя да въведе съотвeтната информация. Един вид:

Console.WriteLine("Write your firstname: ");
..... и т.н. // - колегата не е изписал целият израз, а само очакваната променлива.

Аз поне така разбрах решението му. А и фактът, че последният ред:

Console.WriteLine("You are {0} {1}, a {2}-years old person from {3}.",firstname, lastname, age, town);

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

Поздрави!

 

0
dmaknev avatar dmaknev 49 Точки

Хм... Възможно е и да греша, но до сега джъдж системата не ми е давала грешки за това.

0
IcoBalinov avatar IcoBalinov 1 Точки

Ето така трябва да изглежда задачата, за да я приеме джъдж :

 

var name = Console.ReadLine();
            var family = Console.ReadLine();
            var age = int.Parse(Console.ReadLine());
            var town = Console.ReadLine();
            Console.WriteLine("You are {0} {1}, a {2}-years old person from {3}.",name,family,age,town);
              

Ако си задал каквито и да е Console.WriteLine("firstname") ги махни. Просто системата иска чиста конзолка.

0
cvetomirG avatar cvetomirG 132 Точки

http://pastebin.com/AnTcismy Ето и моето решение, задачката е доста проста. Понеже пиша на PHP, да не ви казвам там какви лайна стават като почнеш да си играеш с някакви конкантенации :D

За пример, ето едни шитни, които съм писал в моя скрипт

echo '<tr><td>'.$row["quizz_id"].'</td><td>'.$row["quizz_title"].'</td><td><img src="../quizzimages/'.$row["quizz_image"].'" class="img-rounded img-responsive"  height="50" width="70""></td><td>'.$row["quizz_url"].'</td><td>'.$row["quizz_date"].'</td><td>'.$row["quizz_type"].'</td><td>'.GetResultsCountByID($count).'</td><td><a href="editquizz.php?id='.$row["quizz_id"].'"><button type="button" class="btn btn-white btn-sm btn-primary btn-block">Edit</button></a></td><td><a href="addresult.php?id='.$row["quizz_id"].'"><button type="button" class="btn btn-blue btn-sm btn-primary btn-block">Add Result</button></a></td></tr>';

Така че хора, нека се радваме, че засега пишем на малко по-цивилизован език :D

 

0
26/10/2016 11:37:32
MarianaTsaneva avatar MarianaTsaneva 0 Точки

Не мога да повярвам! И аз имах проблем в системата. Уж, кодът ми верен, а не минава. Оказа се, че "години" съм ги написала в ед.ч., без s. :)

 

0
avtashev avatar avtashev 1 Точки

Здравей,

Прилагам ти моето решение.  Важно е да следиш точно условието, защото на мен ми правеше проблем дори и за интервал повече в текста :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var firstName = Console.ReadLine();
            var lastName = Console.ReadLine();
            var age = int.Parse(Console.ReadLine());
            var town = Console.ReadLine();
            Console.WriteLine("You are {0} {1}, a {2} -years old person from {3}.", firstName, lastName, age, town);
        }
    }
}

0
IttyBitty avatar IttyBitty 27 Точки

Пробвай с това. Толкова много Console.WriteLine-ове не са нужни.

П.С.: Истината е, че имах малко проблеми...иначе 100/100.  Отне ми време да я завърша, защото има празен ред между последните два Console.WriteLine, а аз ги бях направила един под друг, та се чудех къде му е проблема, а забелязах, че при теб също няма. 

 

using System;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var firstName = Console.ReadLine();
            var lastName = Console.ReadLine();
            var age = int.Parse(Console.ReadLine());
            var town = Console.ReadLine();

 

            Console.WriteLine("You are {0} {1}, a {2}-years old person from {3}." , firstName , lastName , age , town);

 

            Console.WriteLine();
        }
    }
}

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