Loading...

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

kisyova avatar kisyova 13 Точки

Homework 4: Numbers in Interval Dividable by Given Number

Здравейте ! Знам, че е малко в последния момент за това домашно, но тази задача не ми дава мира :D Явно пропускам нещо елементарно, но вече не си виждам и грешките. Много ще се радвам на малко помощ :)

http://pastebin.com/EVAp5qzN

Тагове:
1
Programming Basics
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

Като цяло мога да ти кажа на първо четене, че принтираш грешни неща в смисъл иска се броя на тези числа, демек остави си counter, но се иска и числата които търсим да бъдат принтирани

Опитай се да направиш едно масивче, в което да казваш, че ако има такова число дет няма остатък при делене с 5->>> сложи ми го в масива.. и като намери всичките накрая просто направи още едно for цикълче да обходи масива с нашите числа и да ги изпринти. Малко по - късно ще ти направя пример :)

1
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

using System;

class NumbersiIntervalDividableGiven
{
static void Main()
{
Console.Write("Give a start: ");
uint start = uint.Parse(Console.ReadLine());
Console.Write("Give an end: ");
uint end = uint.Parse(Console.ReadLine());
uint[] arrayOfnums = new uint[end + 1]; // тук си правя масива, където да пазя стойностите на числата
int counter = 0;
uint i = 0;

if (start != 0 && end != 0)
{
for (i = start; i < end + 1; i++) // тук махнах = не е нужно да го имаш дебъгни и ще се убедиш :)
{
if (i % 5 == 0)
{
counter++;
arrayOfnums[i] = i; // ако имаме търсеното число го вкарваме в масива
}
}
Console.WriteLine(counter + "");
for (uint d = start; d < end + 1; d++) // с този цикъл обходам масива и принтирам елементите, които ме интересуват ( казал съм да не принтира нулите тъй като по начало като го създавам всички стойности са нула)
{
if (arrayOfnums[d] != 0)
{
Console.WriteLine(arrayOfnums[d]);
}

}
}
else
{
Console.WriteLine("Wrong input!!!");
}

}

}

Ако има нешо питай :) Дано съм помогнал :)

 

Забележи направих една поправка в масива добавих +1 и в двата цикъла за да може изхода да ни е съвсем точен :) 

 

Moderator edit(g.stoyanov):

Точка 12 от правилата: Във всеки пост е позволено цитирането на не повече от 15 реда код. Ако искате да споделите по-дълъг код, използвайте сайтове като Pastebin и Github Gist).

Просто като напомняне на правилата, виждам че коментара ти е помогнал за решението на проблема, за което те поздравявам, но може да съчетаем нещата - Pastebin, Github или друг източник за споделяне на код би улеснил и най-начнаещия да разбере кода. Все пак друго си е един правилно форматиран код.

1
22/11/2014 00:14:46
kisyova avatar kisyova 13 Точки

Наистина много помогна smile

0
kgerov avatar kgerov 49 Точки

След като началото и краят се въведени от потребителя завърти цикъл for. Наалото на цикъла ще е първото число, което е въведено, а краят ще е второто число. Вътре в цикъла провери дали итератора се дели на 5 с модулус оператора и if statement и ако се дели увеличи стойността на променлива count, която трябва да си инициализирала с 0.

 

for (int i = start; i <= end; i++)
{

if (i % 5 == 0)

{

count++;

}

}

1
kisyova avatar kisyova 13 Точки

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

1
Tisho_Todorov avatar Tisho_Todorov 8 Точки

Здрваей, защо не опиташ нещо подобно идеята е подобна на твоята, но без първият if() от твоето решение.

 

  1.  Console.WriteLine("P = {0}", count);
  2.         Console.Write("Comments = ");
  3.         for (int i = a; i <= b; i++)
  4.         {
  5.             if (% 5 == 0)
  6.             {
  7.                 Console.Write(+ ", ");
  8.             }  
  9.         }

 

Ето и пълното решение:  http://pastebin.com/RzJbbUfy

Желая ти успех !

0
kisyova avatar kisyova 13 Точки

Тази задача съм я мъчила преди 7 месеца някъде :D но благодаря все пак!!! :)

2
BorisSimeonov avatar BorisSimeonov 26 Точки

Numbers in Interval Dividable by Given Number

 

Mod Edit: Използвай цветове, които не дразнят толкова очите. Изкрящото зелено може да се смени с по-приятен за окото цвят.

0
17/11/2014 17:26:04
FunnyBunny avatar FunnyBunny 38 Точки

@Tisho_Todorov: Защо са ни два цикъла? Мисля, че може и един с повече стейтмънти да свърши работа. Аз я реших така. Ако някой сподели какво може да се доискусури, ще се радвам. smile

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