Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Vk api (getmembers) Десереализация http://www.cyberforum.ru/csharp-beginners/thread2344424.html
Всем добрый день, прошу помощи решить проблему. Необходимо получить информацию о пользователях, состоящих в выбранном сообществе ВК. При запросе получаю ответ вида: { "response": { "count":...
C# Определить, является ли текст правильной записью целого числа
Текст задан последовательностью литер, за которыми идет '.' . Написать программу, которая определяет выполнено ли следующее условие: Текст является правильной записью целого числа.
Вывести на экран среднее арифметическое элементов, образующих максимальную сплошную подпоследовательность C#
Дана непустая последовательность не нулевых целых чисел, за которой следует 0. Вывести на экран среднее арифметическое элементов, образующих максимальную сплошную подпоследовательность, ...
C# Зашифровать строку, переместив символы Дана строка-предложение. Зашифровать ее, поместив вначале все символы, расположенные на четных позициях строки, а затем, в обратном порядке, все символы, расположенные на нечетных позициях (например,... http://www.cyberforum.ru/csharp-beginners/thread2344407.html
C# Ошибка "Заданное приведение является недопустимым" http://www.cyberforum.ru/csharp-beginners/thread2344393.html
Помогите пожалуйста Выдает ошибку на этой строке var resolvedDate = new DateTime(1970, 1, 1).AddMilliseconds((int)date + threeHours); threeHours тоже Int
C# Выделить из строки, содержащей полное имя файла, название последнего каталога
Дана строка, содержащая полное имя файла. Выделить из этой строки название последнего каталога (без символов «\»). Если файл содержится в корневом каталоге, то вывести символ «\».
Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано в отдельной строке C#
Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано в отдельной строке. Последовательность завершается числом 0, при считывании которого программа должна...
C# DataTable и DataGridView Имеем таблицу DataTable (допустим пять столбцов) и DataGridView привязанную к ней нужно изменить столбец №1 например умножить на число , если столбец №2 равен например true через перебор строк... http://www.cyberforum.ru/csharp-beginners/thread2344386.html
C# Даны четыре вещественных числа a, b, c и d http://www.cyberforum.ru/csharp-beginners/thread2344384.html
Даны четыре вещественных числа a, b, c и d. Определить, можно ли прямоугольник со сторонами a и b разместить в прямоугольнике со сторонами c и d или наоборот?
C# Для заданного натурального N и действительного X подсчитать следующие суммы: Помогите решить Для заданного натурального N и действительного X подсчитать следующие суммы: http://www.cyberforum.ru/csharp-beginners/thread2344382.html
ITSSS
0 / 0 / 0
Регистрация: 05.10.2018
Сообщений: 27
0

Оптимизация кода

02.11.2018, 12:11. Просмотров 1525. Ответов 5
Метки (Все метки)

Описание задачи:
В доме живет N жильцов. Однажды решили провести перепись всех жильцов данного дома и составили список, в котором указали возраст и пол каждого жильца. Требуется найти номер самого старшего жителя мужского пола.

Входные данные:
В первой строке задано натуральное число N – количество жильцов (N ≤ 100). В последующих N строках располагается информация о всех жильцах: каждая строка содержит два целых числа: V и S – возраст и пол человека (1 ≤ V ≤ 100, S – 0 или 1). Мужскому полу соответствует значение S=1, а женскому – S=0.

Выходные данные:
Должны содержать номер самого старшего мужчины в списке. Если таких жильцов несколько, то следует вывести наименьший номер. Если жильцов мужского пола нет, то выведите -1.

Мой страшный код(прошу не бить тапками):

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
 
public class ProgramP
{
    public static void Main(string[] args)
    {
        int i = int.Parse(Console.ReadLine());
        string[] s = new string[i];
        int[] one = new int[i];
        int[] two = new int[i];
 
        int max = 0;
        int index = 0;
        int[] a = new int[i];
 
        for(int j = 0; j < i; j++)
        {
            s = Console.ReadLine().Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
            one[j] = Convert.ToInt32(s[0]);
            two[j] = Convert.ToInt32(s[1]);
        }
        point1:
        for(int j = 0; j < i; j++)
        {
            if(one[j] > max && a[j] != 1)
            {
                max = one[j];
                index = j;
            }
        }
        if(two[index] == 1)
        {
            Console.WriteLine(index + 1);
        }
        else
        {
            a[index] = 1;
            goto point1;
        }
    }
}
P.s. Тестовые данные на вход(например):

4
25 1
70 1
100 0
3 1

И должно вывести:
2

Вернуться к обсуждению:
Оптимизация кода
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2018, 12:11
Готовые ответы и решения:

Оптимизация кода
Возможно ли заменить быдло-код проверки - пуста ли строка и появления картинки возле неё? ...

Оптимизация кода
Как можно красиво зарефакторить следующий код? int a; int b; ...

Оптимизация кода
Вопрос такой есть ли способ оптимизировать сей код, прибегая к помощи массивов или иными путями?...

Оптимизация кода
Есть такая статья http://habrahabr.ru/post/165729/. Но в ней перечислена лишь малая часть возможных...

Оптимизация кода
Добрый вечер, господа! В данный момент я пишу тулзу для демонстрации алгоритмов оценки движения и...

5
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru