Loading...
MarioPetrov02 avatar MarioPetrov02 2 Точки

Изпит по "Основи на програмирането" - 20 ноември 2016 Задача 4 СофтУни Кемп

Вход

От конзолата се четат поредица от числа, всяко на отделен ред: 

  • На първия ред – броя на групите от студенти – цяло число в интервала [1...1000]
  • За всяка една група на отделен ред – броя на хора в групата – цяло число в интервала [1...1000]

Как да направя това, като се има предвид, че след това броя хора от всички групи трябва да се сумира?  Нужно ми е само това, с останалото ще се справя и сам. Благодаря предварително!

0
Programming Basics 18/03/2017 17:11:53
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

значи неискам да ти слагам цялото решение но ако искаш ще ти постна pastebin-a

но логиката е че: първото число ти показва цикъла и го завърташ цикъла до него,

вътре в цикъла  присвояваш  второто число.

иначе извън цикъла си правиш една променлива в която да събираш хората.

а вътре в самия цикъл можеш да си направиш и условието да ти ги разделя по вида транспорт.Задачата е приятна,ако искаш да видиш решение кажи и ще ти го пусна нп.Но като помислиш сам ще се справиш ....

  1. using System;

  2. using System.Collections.Generic;

  3. using System.Linq;

  4. using System.Text;

  5. using System.Threading.Tasks;

  6.  

  7. namespace softuni_camp

  8. {

  9.     class Program

  10.     {

  11.         static void Main(string[] args)

  12.         {

  13.  

  14.             int totalGroups = int.Parse(Console.ReadLine());

  15.  

  16.            int people = 0;

  17.             for (int i = 1; i <= totalGroups; i++)

  18.             {

  19.                 int group = int.Parse(Console.ReadLine());

  20.                 people += group;

0
18/03/2017 17:24:05
MarioPetrov02 avatar MarioPetrov02 2 Точки

Благодаря!

0
NikolayLiubomirov avatar NikolayLiubomirov 82 Точки

Правиш си една отделна променлива:

int allPeople = 0;

И след това я използваш в цикъла, така че да ти събира хората от всяка ротация:

for (int i = 0; i < groups; i++)
{
    int people = int.Parse(Console.ReadLine());

    allPeople += people;

    // TODO: conditional statements
}

 

0
18/03/2017 23:01:12
MarioPetrov02 avatar MarioPetrov02 2 Точки

Благодаря!

0
MilenaAdzhemova avatar MilenaAdzhemova 50 Точки

Успя ли да я решиш. Аз преди малко бях на нея. Пращам ти само тази част която искаш, за да се подсетиш.

for (int i = 0; i < groups; i++)
            {
                double man = double.Parse(Console.ReadLine());
                if (man <= 5) { p1+=man; }
                if (man>5&& man <= 12) { p2+=man; }
                if (man>12&&man<= 25) { p3+=man; }
                if (man > 25 && man <= 40) { p4 += man; }
                else if (man > 40) { p5 += man; }

                allMan = p1+p2+p3+p4+p5;
            }

Квадратните скоби на if си ги сложи на нови редове ако ти е по-удобно.

 

0
MilenaAdzhemova avatar MilenaAdzhemova 50 Точки

Написах ги отделно p1,p2...., защото после ще ми трябват за процентите на различните превозни средства.

p1-kola

p2-mikrobus и т.н.

0
18/03/2017 19:32:13
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

вместо да разпускате и почивате преди изпита...споко лесен :Д няма какво да си тровите живота сега..утре ще отидете и ще го вземете :Д

0
MarioPetrov02 avatar MarioPetrov02 2 Точки

Да, успях да я реша smiley. А що се отнася до това, че си „тровим“ живота преди изпита- не бях си играл с такива задачи от доста време (има-няма седмица и половина) laugh

0
minito99 avatar minito99 23 Точки

Това е мойто решение на Java :)

 

package SimpleLoops;

import java.util.Scanner;

/**
 * Created by Minito on 6.4.2017 г..
 */
public class Demo04 {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        int n = Integer.parseInt(console.nextLine());
        double car = 0;
        double microBus = 0;
        double littleBus = 0;
        double bigBus = 0;
        double train = 0;
        double result = 0;
        String percent ="%";
        for (int i = 0; i < n ; i++) {
            int num = Integer.parseInt(console.nextLine());
            result += num;
            if (num >= 1 &&num <= 5){
                car += num;
            }else if (num >= 6 && num <= 12){
                microBus += num;
            }else if (num >= 13 && num <= 25){
                littleBus += num;
            }else if (num >= 26 && num <= 40){
                bigBus += num;
            }else if (num >= 41 && num <= 1000 ){
                train += num;
            }

        }double car2 = (car / result) *100;
        double microBus2 = (microBus / result) *100;
        double littleBus2 = (littleBus / result) *100;
        double bigBus2 = (bigBus / result) *100;
        double train2 = (train / result) *100;
        System.out.printf("%.2f%s%n",car2,percent);
        System.out.printf("%.2f%s%n",microBus2,percent);
        System.out.printf("%.2f%s%n",littleBus2,percent);
        System.out.printf("%.2f%s%n",bigBus2,percent);
        System.out.printf("%.2f%s%n",train2,percent);
    }
}

 

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