Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
3 / 1 / 2
Регистрация: 24.12.2014
Сообщений: 78

Вывести количество элементов, содержащих в своей записи заданную цифру

13.05.2016, 01:53. Показов 3928. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано целочисленный массив, по нажатии кнопки надо вывести Количество элементов, содержащих в своей записи заданную цифру, помогите пожалуйста, не могу найти ошибку



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int koldel(int x) // x - заданное число
        {
 
            for (int i = 1; i <= N; i++)
            {
                int n = arrInt[i];
                int k = 0;
                int c = 0;
 
                while (n > 0)
                {
                    c = n % 10;
                    if (c == x) k++;
                    n /= 10;
                }
 
 
                return k;
            }
        }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 private void buttonStat_Click(object sender, EventArgs e)
        {
            int s=0;
            labelStat.Text="Статистика:\n";
            for (int i=0; i<N;i++)
 
                if (koldel(arrInt[i]) == x) // тут мы задаем x
                {
                    labelStat.Text+=arrInt[i].ToString()+"\n";
                    s++;
                }
            labelStat.Text+="Количество ="+(s).ToString();
        }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.05.2016, 01:53
Ответы с готовыми решениями:

Найти количество элементов массива, которые не содержат в своей записи цифру 5
Дан массив натуральных чисел А(N), значения элементов которого лежат в диапазоне . Найти: а) количество элементов массива, которые не...

Как в целочисленном одномерном массиве подсчитать количество чисел, содержащих в своей записи 0?
Задачка наипростейшая, но я никак допетрить не могу. С числами типа 10, 20, 30 etc. все понятно, достаточно проверить, равен ли остаток от...

Сформируйте массив B, состоящий из тех элементов массива A, которые в своей записи содержат цифру 5
Задание состоит в том, что нужно 2 массива. 1 массив - рандомные числа, а 2 массив должен состоять из чисел 1 массива, которые содержат...

14
28 / 20 / 97
Регистрация: 22.10.2015
Сообщений: 304
13.05.2016, 03:29
Mekan,
C#
1
if (c == x){ k++;break;}
1
3 / 1 / 2
Регистрация: 24.12.2014
Сообщений: 78
13.05.2016, 14:13  [ТС]
но все равно ошибки(
0
10 / 10 / 15
Регистрация: 29.11.2015
Сообщений: 43
13.05.2016, 17:38
а так тебе не подойдёт?
C#
1
2
3
int[] a = { 12, 23, 34, 41 }; // данный массив
string[] s = string.Join(",", a.Select(t => t.ToString())).Split(',');
int k = s.Where(t => t.Contains(x)).Count(); // количество элементов
1
3 / 1 / 2
Регистрация: 24.12.2014
Сообщений: 78
13.05.2016, 21:11  [ТС]
когда вы пишите новый код, я чутка не понимаю чего убрать куда добавлять(
0
10 / 10 / 15
Регистрация: 29.11.2015
Сообщений: 43
13.05.2016, 21:43
В твоем коде это так будет. Только x нужен типа char
C#
1
2
3
4
5
6
7
8
9
10
private void buttonStat_Click(object sender, EventArgs e)
        {
            string[] arrStr = string.Join(",", arrInt.Select(t => t.ToString())).Split(',');
            int s = arrStr.Where(t => t.Contains(x)).Count(); // количество
            labelStat.Text="Статистика:\n";
            for (int i = 0; i < arrStr.Length; i++)
                if (arrStr[i].Contains(x))
                    labelStat.Text+=arrStr[i]+"\n";
            labelStat.Text+="Количество ="+(s).ToString();
        }
0
3 / 1 / 2
Регистрация: 24.12.2014
Сообщений: 78
15.05.2016, 01:51  [ТС]
вы меня не так поняли, вместе х в коде я ввожу любое число, а Form его нету, я там проста так написал, это любое число,

вот тут ввод массива,

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
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 пример_к_работе_4
{
    public partial class Form1 : Form
    {
        int[] arrInt;
        int N;
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void buttonVvod_Click(object sender, EventArgs e)
        {
            int X = Convert.ToInt32(textBoxX.Text),
                Y = Convert.ToInt32(textBoxY.Text);
            N=Convert.ToInt32(textBoxN.Text);
            arrInt=new int[N];
            Random rnd=new Random();
            labelRez.Text="Массив\n";
            for (int i=0; i<N;i++)
            {
                arrInt[i]=rnd.Next(Y-X)+X;
                labelRez.Text+=i.ToString()+":"+arrInt[i].ToString()+'\n';
            }
            buttonStat.Visible=true;
            buttonFind.Visible=true;
            buttonSort.Visible=true;
            labelStat.Text="Статистика";
            labelFind.Text="Поиск";
            labelSort.Text="Сортировка";
теперь мне надо по нажатия кнопки вывести количество элементов, содержащих в своей записи заданную цифру

C#
1
2
3
private void buttonStat_Click(object sender, EventArgs e)
{
}
0
 Аватар для zewer
2357 / 1775 / 212
Регистрация: 07.01.2011
Сообщений: 10,342
15.05.2016, 04:01
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void buttonStat_Click(object sender, EventArgs e)
{
    int ZADANA_CIFRA = 123;//ваша какаято там цифра 
    int counter = 0;//нас счетчик
    foreach(var data in arrInt) //на каждом проходе в data будет храниться следующий элемент с вашего массива
    {
        if (data == ZADANA_CIFRA) //если этот элемент равен вашей цифре, то
            counter++; // то увеличиваем счетчик совпадений
    }
 
    MessageBox.Show(counter); //выводим в messagebox ваше количество совпадений с вашей цифрой
}
если я все правильно понял, возможны ошибки в коде, писал без студии. Отпишите работает ли
1
3 / 1 / 2
Регистрация: 24.12.2014
Сообщений: 78
15.05.2016, 14:43  [ТС]
Спасибо, но, во-первых вы написали число, а мне надо цифр который содержится в числе(от 0 до 9), а во-вторых у меня не message.box а label, вот я ввел ваш код свой прогу, но там всегда К=0

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
   private void buttonStat_Click(object sender, EventArgs e)
        {
            int ZADANA_CIFRA = 2;//ваша какаято там цифра 
            int counter = 0;//нас счетчик
            foreach (var data in arrInt) //на каждом проходе в data будет храниться следующий элемент с вашего массива
            {
                if (data == ZADANA_CIFRA) //если этот элемент равен вашей цифре, то
                    counter++; // то увеличиваем счетчик совпадений
            }
 
         
            labelStat.Text = "К=" + (counter).ToString();     //выводим  ваше количество совпадений с вашей цифрой
        }
я вот думаю, чтоб искать такие элементы, надо их проста делить на 10, и сравнивать заданным цифрам(0-9), а как в коде написать, у меня не получается
0
 Аватар для zewer
2357 / 1775 / 212
Регистрация: 07.01.2011
Сообщений: 10,342
15.05.2016, 16:36
Цитата Сообщение от Mekan Посмотреть сообщение
а во-вторых у меня не message.box а label
это раз плюбнуть переправить

Цитата Сообщение от Mekan Посмотреть сообщение
а мне надо цифр который содержится в числе(от 0 до 9)
значить я неправильно понял задание в 4 утра
сейчас попробую переписать.
Скажите название вашей label, какой там номер? label 1, label2 или какой ?
0
3 / 1 / 2
Регистрация: 24.12.2014
Сообщений: 78
15.05.2016, 16:52  [ТС]
наверное))
C#
1
labelStat.Text
вот так, там наверху тоже написано
0
 Аватар для zewer
2357 / 1775 / 212
Регистрация: 07.01.2011
Сообщений: 10,342
15.05.2016, 17:43
Лучший ответ Сообщение было отмечено Mekan как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    private void buttonStat_Click(object sender, EventArgs e)
    {
            int number = 3; //цифра 0,1,2,...,8 или 9
            if (number < 0 || number > 9)
                return;
            int counter = 0;
            foreach (var data in intArray)
            {
                if (Contains(data, number))
                    counter++;
            }
        labelStat.Text = counter.ToString();
    }
 
        private bool Contains(int value, int num)//[arrInt[i], number]
        {
            char[] a = value.ToString().ToCharArray();
            char b = Char.Parse(num.ToString());
            if (a.Contains(b))
                return true;
            return false;
        }
пробуйте
1
3 / 1 / 2
Регистрация: 24.12.2014
Сообщений: 78
15.05.2016, 17:55  [ТС]
Спасибо) все работает, тут смотрите
Цитата Сообщение от zewer Посмотреть сообщение
intArray
ошибку выдал, должно было быть arrInt,))
0
 Аватар для zewer
2357 / 1775 / 212
Регистрация: 07.01.2011
Сообщений: 10,342
15.05.2016, 18:16
Цитата Сообщение от Mekan Посмотреть сообщение
ошибку выдал, должно было быть arrInt,))
я просил писал в консоли со своими переменными, а потом подогнал по дваши, но это забыл
1
3 / 1 / 2
Регистрация: 24.12.2014
Сообщений: 78
15.05.2016, 18:18  [ТС]
так и понял, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.05.2016, 18:18
Помогаю со студенческими работами здесь

Сформировать новый массив из элементов заданного, кратных 7 или содержащих в записи числа эту цифру
Дан целочисленный массив М из n элементов (n&lt;=50), содержащий двузначные числа. Сформировать новый массив из элементов заданного, кратных 7...

Определить, содержит ли число в своей записи цифру 2
Дано число 1942 , содержит ли данное число в своей записи цифру 2

Проверить, содержит ли квадрат данного натурального числа n цифру 3 в своей записи.
Проверить, содержит ли квадрат данного натурального числа n цифру 3 в своей записи. (Pascal ABC)

проверить содержит ли квадрат данного натурального числа n цифру 3 в своей записи
проверить содержит ли квадрат данного натурального числа n цифру 3 в своей записи

Проверте, содержит ли квадрат заданого натурального числа А цифру 3 в своей записи
Проверте, содержит ли квадрат заданого натурального числа А цифру 3 в своей записи. Пожалуйста напишите задачу с помощью безусловного(for...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru