Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Мария6
Заблокирован
1

Написать краткие теоретические сведения и описание основных алгоритмов программы

27.05.2015, 08:33. Просмотров 545. Ответов 1
Метки нет (Все метки)

помогите сделать отчет, надо написать краткие теоретические сведения и описание основных алгоритмов программы пожалуйста
первый встречающийся элемент, сумма цифр которого=6
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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
{
static private int N = 22;
public Form1()
{
InitializeComponent();
}
 
private void button1_Click(object sender, EventArgs e)
{
Random a = new Random();
for (int i = 0; i < N; i++)
{
listBox1.Items.Add(a.Next(100));
}
 
}
 
private void button2_Click(object sender, EventArgs e)
{
int sum = 0;
for (int i = 0; i < N; i++)
{
sum = 0;
int curr = Convert.ToInt32(listBox1.Items[i]);
int currNum = curr;
while (currNum > 0)
{
int k = currNum % 10;
sum += k;
currNum /= 10;
}
if (sum == 6)
{
label3.Text = Convert.ToString(curr);
break;
}
}
if (sum == 0)
{
label3.Text = "Таких элементов нет! ";
}
}
}
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2015, 08:33
Ответы с готовыми решениями:

Visual Studio 2012 Не отображаются краткие сведения
В моем проекте почему-то пропали краткие сведения о стандартных методах...

Теоретические сведения
помогите мне пожалуйста, я не могу решить вот такую задачу( Проверка на неориентированность По...

Нужно написать программу и описание к ней по предмету Теория алгоритмов
Нужно написать программу и описание к ней по предмету Теория алгоритмов Тех. задание: тема:...

Теоретичні відомості / теоретические сведения (2 задачи)
Здравствуйте, очень срочно нужна помощь в Практичной №2 (Теоретичні відомості / теоретические...

1
EvilFromHell
959 / 855 / 347
Регистрация: 26.04.2012
Сообщений: 2,648
27.05.2015, 19:27 2
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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 WindowsFormsApplication37
{
    public partial class Form1 : Form
    {
        static private int N = 22; //количество цифр, которые потом будут заноситься в listBox1
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click_1(object sender, EventArgs e) //обрабочик события клика по button1
        {
            Random a = new Random();           //создается объект класса Random(то бишь генератора случайных чисел)
 
            for (int i = 0; i < N; i++)
            {
                listBox1.Items.Add(a.Next(100));  //в цикле, проходящем N раз генерируются случайные числа и записываются в listBox1
            }
 
        }
 
        private void button2_Click_1(object sender, EventArgs e) //обрабочик события клика по button2
        {
            int sum = 0;  //переменная, в которую будет записываться сумма цифр в числе
 
            for (int i = 0; i < N; i++) //цикл, N проходов
            {
                sum = 0;                //обнуление sum
                int curr = Convert.ToInt32(listBox1.Items[i]); //iтый элемент из listBox1 конвертируется в целое число и записывается в curr
                int currNum = curr;  //создается еще одна целочисленная переменная currNum, по значению равная curr
                while (currNum > 0)  //цикл, выполняется до тех пор пока значение currNum > 0
                {
                    int k = currNum % 10;   //в k записывается остаток от деления currNum на 10
                    sum += k;               //значения переменных sum и k складываются и записываются в sum
                    currNum /= 10;          //значение переменной currNum делится на 10 и записывается в currNum
                }
                if (sum == 6)   //если значение sum равно 6, то 
                {
                    label3.Text = Convert.ToString(curr);       //число, записанное в curr теперь отображается на лейбле label3
                    break;                                      //цикл прерывается при помощи break, так как искомое число найдено и его выполнение дальше не имеет смысла
                }
            }
            if (sum == 0)  //если значение sum равно 0 и цикл прошел, то на label3 будет отображено "Таких элементов нет!". 
                           //Но судя по коду выше sum может быть равен чему угодно даже если искомый элемент не                   найден, так как обнуляется он только в начале цикла, то бишь тут явная ошибка
            {
                label3.Text = "Таких элементов нет! ";
            }
        }
    }
}
Код длинноват и кривоват, так что можно его как-нибудь укоротить, как вариант:

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApplication38
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Random a = new Random(); 
            for (int i = 0; i < 22; i++)
            {
                listBox1.Items.Add(a.Next(100).ToString()); 
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            label3.Text = listBox1.Items.Cast<string>().First(n => n.ToCharArray().Select(Char.GetNumericValue).Aggregate((x, y) => x + y) == 6);
        }
    }
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2015, 19:27

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Визуализация основных алгоритмов на графах
Нужно создать программный продукт для визуализации основных алгоритмов на графах, предусматривает...

Реализация очереди и основных алгоритмов её обработки
Заполнить очередь 9 случайными вещественными числами из интервала . Найти разность первого и...

Реализация стека и основных алгоритмов его обработки
Написать программу для реализации стека и основных алгоритмов его обработки. Предусмотреть ввод с...

Реализация основных алгоритмов сортировки динамических массивов
Массив заполняется произвольно. Количество элементов массива произвольное (не менее 10 для...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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