Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2019, 16:31   #1
n_alex
Новичок
Джуниор
 
Регистрация: 05.04.2019
Сообщений: 1
По умолчанию найти максимальное не четное число на языке с# в listbox, что не так?

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            int N = 15;
            Random rand = new Random();

            for (int i = 1; i < N - 1; i++)
            {
                int p = rand.Next( -22, 22);
                listBox1.Items.Add(p);

            }
        }

        private Boolean check(int p)
        {
        
        Boolean flag = false;
        double sqr_p = p&2;
        if (sqr_p > 0) flag = true;
        return flag;

        
         }
        private void button2_Click(object sender, EventArgs e)
        {

            int N = listBox1.Items.Count;

            for (int i = 0; i < N; i++)
            {
                string s_p = listBox1.Items[i].ToString();
                int p = int.Parse(s_p);
                if (check(p))
                {
                    label1.Text = "Это число" + p;
                    listBox1.SelectedIndex = i;
                    break;


                }

            }
        }

    }
}

_____
Код программы нужно выделять (форматировать) тегами [CODE][/CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 05.04.2019 в 17:04.
n_alex вне форума Ответить с цитированием
Старый 05.04.2019, 17:14   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от n_alex Посмотреть сообщение
что не так?
1) проверка на чётность делается не так.
либо
Код:
        private Boolean check(int p)
        {
  	return (p % 2) == 0;
        }
либо
Код:
        private Boolean check(int p)
        {
  	return (p & 1) == 0;
        }
2) Вам бы не мешало подучить теорию поиска минимальных/максимальных элементов в массиве.
там идея такая - вначале запоминаем некое значение, потом в цикле сравниваем очередной элемент массива с запомненным.
и, если текущий больше(или меньше - в зависимости от того max ищем или min) заменяем запомненное значение текущим.

в вашем случае надо запоминать значение и его индекс.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти максимальное число valerij Microsoft Office Excel 2 21.11.2012 01:10
Найти максимальное число! Артем1904 Помощь студентам 9 15.12.2011 22:22
Необходимо найти максимальное число Vceznayka Microsoft Office Excel 3 22.11.2011 12:11
Найти максимальное число в последовательности vladoscom93 Паскаль, Turbo Pascal, PascalABC.NET 11 14.12.2010 21:43
Найти максимальное число.Паскаль. Karabas Паскаль, Turbo Pascal, PascalABC.NET 2 16.12.2008 21:13