Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 11

Найти количество электроэнергии, потребленной каждым компьютером за неделю

08.01.2015, 00:32. Показов 2044. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи! Подскажите что я делаю не так. Программу написала. Выполняет все, кроме последнего задания. Вместо минимального значения выбирает максимальное. Знак меняю выдает нули. Задание такое:В юридической фирме 20 компьютеров, используемых персоналом. Каждый компьютер, работая 5 дней в неделю, потребляет определенное количество электроэнергии. Цена на электроэнергию меняется. Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран:
* Исходные данные в виде таблицы, где указаны номера всех компьютеров, стоимость одного киловатта электроэнергии, количество киловатт электроэнергии, потребленных одним компьютером за каждый день;
* Количество электроэнергии, потребленной каждым компьютером за неделю;
* Стоимость энергии, потребленной всеми компьютерами за день;
* Стоимость всей энергии, потребленной за неделю;
* Номер компьютера, потребившего меньше всего электроэнергии в течение первых 2-х дней.
Visual Basic
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
Private Sub CommandButton1_Click()
Dim cena(20) As Double
' стоимость электроэнергии
Dim koll(20, 5) As Integer
'количество потребленной электроэнергии (по дням)
Dim stoim(19) As Double
'стоимость электроэнергии в день
Dim koll_n(20) As Integer
'количество электроэнергии за неделю
Dim kollD1(20) As Integer
' количество электроэнергии потребленной в первый день
Dim kollD2(20) As Integer
'количество электроэнергии потребленной во второй день
Dim nomerKomp As Integer
'номер компьютера потребившего минимальное количество электроэнергии в первый и второй день
Dim minkollD1 As Integer
'минимальное количество потребленной электроэнергии в первый день
Dim minkollD2 As Integer
'минимальное количество потребленной электроэнергии во второй день
Dim i As Integer, j As Integer
'счетчики циклов
 
For i = 1 To 20
koll_n(i) = 0
kollD1(i) = 0
kollD2(i) = 0
Next
 
For j = 1 To 6
stoim(j) = 0
Next
 
minkollD1 = 0
minkollD2 = 0
nomerKomp = 0
 
Sheets("Нач_д").Select
For i = 1 To 20
cena(i) = Cells(3 + i, 2)
Next
For i = 1 To 20
For j = 1 To 5
koll(i, j) = Cells(3 + i, 2 + j)
Next j
Next i
 
Sheets("Результат").Select
Sheets("Результат").Cells(1, 1) = "Количество потребленной электроэнергии"
Sheets("Результат").Cells(2, 1) = "Номер компьютера"
Sheets("Результат").Cells(2, 2) = "Стоимость электроэнергии"
Sheets("Результат").Cells(2, 3) = "Потреблено электроэнергии"
Sheets("Результат").Cells(3, 3) = "1-ый день"
Sheets("Результат").Cells(3, 4) = "2-ой день"
Sheets("Результат").Cells(3, 5) = "3-ий день"
Sheets("Результат").Cells(3, 6) = "4-ый день"
Sheets("Результат").Cells(3, 7) = "5-ый день"
Sheets("Результат").Cells(3, 8) = "Всего"
Sheets("Результат").Cells(4, 1) = "Компьютер 1"
Sheets("Результат").Cells(5, 1) = "Компьютер 2"
Sheets("Результат").Cells(6, 1) = "Компьютер 3"
Sheets("Результат").Cells(7, 1) = "Компьютер 4"
Sheets("Результат").Cells(8, 1) = "Компьютер 5"
Sheets("Результат").Cells(9, 1) = "Компьютер 6"
Sheets("Результат").Cells(10, 1) = "Компьютер 7"
Sheets("Результат").Cells(11, 1) = "Компьютер 8"
Sheets("Результат").Cells(12, 1) = "Компьютер 9"
Sheets("Результат").Cells(13, 1) = "Компьютер 10"
Sheets("Результат").Cells(14, 1) = "Компьютер 11"
Sheets("Результат").Cells(15, 1) = "Компьютер 12"
Sheets("Результат").Cells(16, 1) = "Компьютер 13"
Sheets("Результат").Cells(17, 1) = "Компьютер 14"
Sheets("Результат").Cells(18, 1) = "Компьютер 15"
Sheets("Результат").Cells(19, 1) = "Компьютер 16"
Sheets("Результат").Cells(20, 1) = "Компьютер 17"
Sheets("Результат").Cells(21, 1) = "Компьютер 18"
Sheets("Результат").Cells(22, 1) = "Компьютер 19"
Sheets("Результат").Cells(23, 1) = "Компьютер 20"
 
For i = 1 To 20
Sheets("Результат").Cells(3 + i, 2) = cena(i)
For j = 1 To 5
Sheets("Результат").Cells(3 + i, 2 + j) = koll(i, j)
koll_n(i) = koll_n(i) + koll(i, j)
Next j
Sheets("Результат").Cells(3 + i, 8) = koll_n(i)
Next i
 
Sheets("Результат").Cells(25, 1) = "Результат в денежном эквиваленте"
Sheets("Результат").Cells(26, 1) = "Номер компьютера"
Sheets("Результат").Cells(26, 2) = "Стоимость электроэнергии"
Sheets("Результат").Cells(26, 3) = "Стоимость потребленной электроэнергии"
Sheets("Результат").Cells(27, 3) = "1-ый день"
Sheets("Результат").Cells(27, 4) = "2-ой день"
Sheets("Результат").Cells(27, 5) = "3-ий день"
Sheets("Результат").Cells(27, 6) = "4-ый день"
Sheets("Результат").Cells(27, 7) = "5-ый день"
Sheets("Результат").Cells(27, 8) = "Всего"
Sheets("Результат").Cells(28, 1) = "Компьютер 1"
Sheets("Результат").Cells(29, 1) = "Компьютер 2"
Sheets("Результат").Cells(30, 1) = "Компьютер 3"
Sheets("Результат").Cells(31, 1) = "Компьютер 4"
Sheets("Результат").Cells(32, 1) = "Компьютер 5"
Sheets("Результат").Cells(33, 1) = "Компьютер 6"
Sheets("Результат").Cells(34, 1) = "Компьютер 7"
Sheets("Результат").Cells(35, 1) = "Компьютер 8"
Sheets("Результат").Cells(36, 1) = "Компьютер 9"
Sheets("Результат").Cells(37, 1) = "Компьютер 10"
Sheets("Результат").Cells(38, 1) = "Компьютер 11"
Sheets("Результат").Cells(39, 1) = "Компьютер 12"
Sheets("Результат").Cells(40, 1) = "Компьютер 13"
Sheets("Результат").Cells(41, 1) = "Компьютер 14"
Sheets("Результат").Cells(42, 1) = "Компьютер 15"
Sheets("Результат").Cells(43, 1) = "Компьютер 16"
Sheets("Результат").Cells(44, 1) = "Компьютер 17"
Sheets("Результат").Cells(45, 1) = "Компьютер 18"
Sheets("Результат").Cells(46, 1) = "Компьютер 19"
Sheets("Результат").Cells(47, 1) = "Компьютер 20"
Sheets("Результат").Cells(48, 1) = "ИТОГО"
 
For i = 1 To 20
For j = 1 To 5
Sheets("Результат").Cells(27 + i, 2 + j) = koll(i, j) * cena(i)
stoim(j) = stoim(j) + koll(i, j) * cena(i)
stoim(19) = stoim(19) + koll(i, j) * cena(i)
Next j
Sheets("Результат").Cells(27 + i, 2) = cena(i)
Sheets("Результат").Cells(27 + i, 8) = cena(i) * koll_n(i)
Next i
For j = 1 To 5
Sheets("Результат").Cells(48, 2 + j) = stoim(j)
Next j
 
For i = 1 To 20
For j = 1 To 5
kollD1(i) = Cells(3 + i, 3)
kollD2(i) = Cells(3 + i, 4)
If kollD1(i) > minkollD1 Then
minkollD1 = kollD1(i)
Else
If kollD2(i) > minkollD2 Then
minkollD2 = kollD2(i)
nomerKomp = i
End If
End If
Next j
Next i
 
Sheets("Результат").Cells(48, 8) = stoim(19)
Sheets("Результат").Cells(49, 1) = "Стоимость электроэнергии за неделю"
Sheets("Результат").Cells(49, 5) = stoim(19)
Sheets("Результат").Cells(50, 1) = "Наименьшее количество электроэнергии потребленное одним компьютером в первый день"
Sheets("Результат").Cells(51, 1) = "Наименьшее количество электроэнергии потребленное одним компьютером во второй день"
Sheets("Результат").Cells(50, 8) = minkollD1
Sheets("Результат").Cells(51, 8) = minkollD2
Sheets("Результат").Cells(52, 1) = "Номер компьютера потребившего меньше электроэнергии в первый и второй день"
Sheets("Результат").Cells(52, 8) = nomerKomp
End Sub
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.01.2015, 00:32
Ответы с готовыми решениями:

Найти: общее количество деталей, изготовленных каждым мастером за неделю
Задание: Дан двумерный массив чисел произвольной размерности. Выполнить задания с использованием операторов панели программирования в...

Стоимость потребленной электроэнергии в трехзоновом электросчетчике
Написать программу расчета стоимости потребленной электроэнергии в трехзоновом электросчетчике. Исходные параметры : время, количество...

Расчет стоимости потребленной электроэнергии в трехзоновом электросчетчике
Написать программу расчета стоимости потребленной электроэнергии в трехзоновом электросчетчике. Исходные параметры: время, количество ...

25
Заблокирован
08.01.2015, 01:49
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вам-бы надо лист скинуть, а то так невозможно разобраться что в ячейках
может там действительно нули
вот это место
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    For i = 1 To 20
        For j = 1 To 5
            kollD1(i) = Cells(3 + i, 3)
            kollD2(i) = Cells(3 + i, 4)
            If kollD1(i) > minkollD1 Then
                minkollD1 = kollD1(i)
            Else
                If kollD2(i) > minkollD2 Then
                    minkollD2 = kollD2(i)
                    nomerKomp = i
                End If
            End If
        Next j
    Next i
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
08.01.2015, 09:14
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Нельзя сказать, что это ошибка, но оценку могут снизить:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sheets("Результат").Cells(4, 1) = "Компьютер 1"
Sheets("Результат").Cells(5, 1) = "Компьютер 2"
Sheets("Результат").Cells(6, 1) = "Компьютер 3"
Sheets("Результат").Cells(7, 1) = "Компьютер 4"
Sheets("Результат").Cells(8, 1) = "Компьютер 5"
Sheets("Результат").Cells(9, 1) = "Компьютер 6"
Sheets("Результат").Cells(10, 1) = "Компьютер 7"
Sheets("Результат").Cells(11, 1) = "Компьютер 8"
Sheets("Результат").Cells(12, 1) = "Компьютер 9"
Sheets("Результат").Cells(13, 1) = "Компьютер 10"
Sheets("Результат").Cells(14, 1) = "Компьютер 11"
Sheets("Результат").Cells(15, 1) = "Компьютер 12"
Sheets("Результат").Cells(16, 1) = "Компьютер 13"
Sheets("Результат").Cells(17, 1) = "Компьютер 14"
Sheets("Результат").Cells(18, 1) = "Компьютер 15"
Sheets("Результат").Cells(19, 1) = "Компьютер 16"
Sheets("Результат").Cells(20, 1) = "Компьютер 17"
Sheets("Результат").Cells(21, 1) = "Компьютер 18"
Sheets("Результат").Cells(22, 1) = "Компьютер 19"
Sheets("Результат").Cells(23, 1) = "Компьютер 20"
Лучше бы записать так:
Visual Basic
1
2
3
For i = 1 To 20
    Sheets("Результат").Cells(i + 3, 1) = "Компьютер " & i
Next i
заполнение дней аналогично


Похоже это задание из области:
Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран:
Тогда эту процедуру надо разделить на 2:
В первой производить заполнение исходных данных
Во второй считывать и производить вычисления и выводить результат
Потом первую скопипастит два раза (переименовав ессно)
И сделать в одной копии заполнение значений единицами, а во второй случайными числаим
Ведь по условиям задания надо произвести проверку на 0 и на 1
Ато, что в методичке записали всё в одну процедуру, так это они погорячились...
0
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 11
09.01.2015, 00:34  [ТС]
Вот лист с результатом. Я плохо представляю как правильно вставить данные в сообщение. Поэтому получилось немного смещено, но смысл я думаю понятен. Программа выдает мне обратный результат в последних трех строчках, вместо наименьшего значения наибольшее. Если я меняю знак, то она дает нули.
Количество потребленной электроэнергии
Номер компьютера Стоимость электроэнергии Потреблено электроэнергии
1-ый день 2-ой день 3-ий день 4-ый день 5-ый день Всего
Компьютер 1 1,2 1 1 1 1 1 5
Компьютер 2 2,2 2 19 1 1 1 24
Компьютер 3 2,1 3 18 1 1 1 24
Компьютер 4 2 4 17 1 1 1 24
Компьютер 5 2,3 5 16 1 1 1 24
Компьютер 6 2,2 6 20 1 1 1 29
Компьютер 7 2 7 14 1 1 1 24
Компьютер 8 2,1 8 13 1 1 1 24
Компьютер 9 2,5 9 12 1 1 1 24
Компьютер 10 2,2 10 11 1 1 1 24
Компьютер 11 2,6 11 10 1 1 1 24
Компьютер 12 2,3 12 9 1 1 1 24
Компьютер 13 1,9 13 8 1 1 1 24
Компьютер 14 1,8 14 7 1 1 1 24
Компьютер 15 2 4 6 1 1 1 13
Компьютер 16 1,7 16 5 1 1 1 24
Компьютер 17 2,3 17 4 1 1 1 24
Компьютер 18 2,2 18 3 1 1 1 24
Компьютер 19 1,2 19 2 1 1 1 24
Компьютер 20 1,3 44 18 1 1 1 65

Результат в денежном эквиваленте
Номер компьютера Стоимость электроэнергии Стоимость потребленной электроэнергии
1-ый день 2-ой день 3-ий день 4-ый день 5-ый день Всего
Компьютер 1 1,2 1,2 1,2 1,2 1,2 1,2 6
Компьютер 2 2,2 4,4 41,8 2,2 2,2 2,2 52,8
Компьютер 3 2,1 6,3 37,8 2,1 2,1 2,1 50,4
Компьютер 4 2 8 34 2 2 2 48
Компьютер 5 2,3 11,5 36,8 2,3 2,3 2,3 55,2
Компьютер 6 2,2 13,2 44 2,2 2,2 2,2 63,8
Компьютер 7 2 14 28 2 2 2 48
Компьютер 8 2,1 16,8 27,3 2,1 2,1 2,1 50,4
Компьютер 9 2,5 22,5 30 2,5 2,5 2,5 60
Компьютер 10 2,2 22 24,2 2,2 2,2 2,2 52,8
Компьютер 11 2,6 28,6 26 2,6 2,6 2,6 62,4
Компьютер 12 2,3 27,6 20,7 2,3 2,3 2,3 55,2
Компьютер 13 1,9 24,7 15,2 1,9 1,9 1,9 45,6
Компьютер 14 1,8 25,2 12,6 1,8 1,8 1,8 43,2
Компьютер 15 2 8 12 2 2 2 26
Компьютер 16 1,7 27,2 8,5 1,7 1,7 1,7 40,8
Компьютер 17 2,3 39,1 9,2 2,3 2,3 2,3 55,2
Компьютер 18 2,2 39,6 6,6 2,2 2,2 2,2 52,8
Компьютер 19 1,2 22,8 2,4 1,2 1,2 1,2 28,8
Компьютер 20 1,3 57,2 23,4 1,3 1,3 1,3 84,5
ИТОГО 419,9 441,7 40,1 40,1 40,1 981,9
Стоимость электроэнергии за неделю 981,9
Наименьшее количество электроэнергии потребленное одним компьютером в первый день 44
Наименьшее количество электроэнергии потребленное одним компьютером во второй день 20
Номер компьютера потребившего меньше электроэнергии в первый и второй день 6
0
Заблокирован
09.01.2015, 00:48
Цитата Сообщение от NatalyaKoroleva Посмотреть сообщение
Я плохо представляю как правильно вставить данные в сообщение. Поэтому получилось немного смещено, но смысл я думаю понятен.
Вы когда сообщение пишете, обратите внимание, в редакторе есть кнопка
расширенный режим, откроется страница, там найдите кнопку управление вложениями загружаете файл, и кнопка ответить вот и всё

Добавлено через 8 минут
там вам Alex77755 уже написал оптимизацию вашего кода,
действительно так и путаницы не будет, но при отсутствии файла остаётся только гадать
0
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 11
09.01.2015, 02:28  [ТС]
Вроде получилось вставить файл. Может это поможет
Вложения
Тип файла: zip Курсовая работа.zip (27.3 Кб, 6 просмотров)
0
Заблокирован
09.01.2015, 02:32
Цитата Сообщение от NatalyaKoroleva Посмотреть сообщение
Может это поможет
Конечно поможет, я может уже сейчас и сделаю, пока вы будете спать
0
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 11
10.01.2015, 02:23  [ТС]
Что все так безнадежно?
0
Заблокирован
10.01.2015, 04:13

Не по теме:

Я еще, не смотрел потомучто своих дел выше крыши, ну если никто не ответит то решу

Да и поймите меня тоже, я вам решу, а вы мне просто тупо не ответите как это уже было не раз,
с другими, решаю, пользователь забирает решение, и ни здрасти ни досвидания ни благодарности...
хотя изначально для меня это всёравно тренировка, поэтому с недавних пор, я стал осторожнее




Добавлено через 1 час 34 минуты
Вот, немного оптимизировал в плане читабельности:
в коде ошибок не возникает, если есть ошибки еще гдето то говорите где
не скажете, то и ответа не получите

итак код:
Кликните здесь для просмотра всего текста
Visual Basic
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
Public Sub CommandButton1_Click()
    Dim cena(20) As Double
    ' стоимость электроэнергии
    Dim koll(20, 5) As Integer
    'количество потребленной электроэнергии (по дням)
    Dim stoim(19) As Double
    'стоимость электроэнергии в день
    Dim koll_n(20) As Integer
    'количество электроэнергии за неделю
    Dim kollD1(20) As Integer
    ' количество электроэнергии потребленной  в первый день
    Dim kollD2(20) As Integer
    'количество электроэнергии потребленной  во второй день
    Dim nomerKomp As Integer
    'номер компьютера потребившего минимальное количество электроэнергии в первый и второй день
    Dim minkollD1 As Integer
    'минимальное количество потребленной электроэнергии в первый день
    Dim minkollD2 As Integer
    'минимальное количество потребленной электроэнергии во второй день
    Dim i As Integer, j As Integer
    'счетчики циклов
    
    For i = 1 To 20
        koll_n(i) = 0
        kollD1(i) = 0
        kollD2(i) = 0
    Next
    
    For j = 1 To 6
        stoim(j) = 0
    Next
    
    minkollD1 = 0
    minkollD2 = 0
    nomerKomp = 0
    
    Sheets("Нач_д").Select
    For i = 1 To 20
        cena(i) = Cells(3 + i, 2)
    Next
    For i = 1 To 20
        For j = 1 To 5
            koll(i, j) = Cells(3 + i, 2 + j)
        Next j
    Next i
    With Sheets("Результат")
        .Cells(1, 1) = "Количество потребленной электроэнергии"
        .Cells(2, 1) = "Номер компьютера"
        .Cells(2, 2) = "Стоимость электроэнергии"
        .Cells(2, 3) = "Потреблено электроэнергии"
        .Cells(3, 3) = "1-ый день"
        .Cells(3, 4) = "2-ой день"
        .Cells(3, 5) = "3-ий день"
        .Cells(3, 6) = "4-ый день"
        .Cells(3, 7) = "5-ый день"
        .Cells(3, 8) = "Всего"
        .Cells(4, 1) = "Компьютер 1"
        .Cells(5, 1) = "Компьютер 2"
        .Cells(6, 1) = "Компьютер 3"
        .Cells(7, 1) = "Компьютер 4"
        .Cells(8, 1) = "Компьютер 5"
        .Cells(9, 1) = "Компьютер 6"
        .Cells(10, 1) = "Компьютер 7"
        .Cells(11, 1) = "Компьютер 8"
        .Cells(12, 1) = "Компьютер 9"
        .Cells(13, 1) = "Компьютер 10"
        .Cells(14, 1) = "Компьютер 11"
        .Cells(15, 1) = "Компьютер 12"
        .Cells(16, 1) = "Компьютер 13"
        .Cells(17, 1) = "Компьютер 14"
        .Cells(18, 1) = "Компьютер 15"
        .Cells(19, 1) = "Компьютер 16"
        .Cells(20, 1) = "Компьютер 17"
        .Cells(21, 1) = "Компьютер 18"
        .Cells(22, 1) = "Компьютер 19"
        .Cells(23, 1) = "Компьютер 20"
        For i = 1 To 20
            .Cells(3 + i, 2) = cena(i)
            For j = 1 To 5
                .Cells(3 + i, 2 + j) = koll(i, j)
                koll_n(i) = koll_n(i) + koll(i, j)
            Next j
            .Cells(3 + i, 8) = koll_n(i)
        Next i
        .Cells(25, 1) = "Результат в денежном эквиваленте"
        .Cells(26, 1) = "Номер компьютера"
        .Cells(26, 2) = "Стоимость электроэнергии"
        .Cells(26, 3) = "Стоимость потребленной электроэнергии"
        .Cells(27, 3) = "1-ый день"
        .Cells(27, 4) = "2-ой день"
        .Cells(27, 5) = "3-ий день"
        .Cells(27, 6) = "4-ый день"
        .Cells(27, 7) = "5-ый день"
        .Cells(27, 8) = "Всего"
        .Cells(28, 1) = "Компьютер 1"
        .Cells(29, 1) = "Компьютер 2"
        .Cells(30, 1) = "Компьютер 3"
        .Cells(31, 1) = "Компьютер 4"
        .Cells(32, 1) = "Компьютер 5"
        .Cells(33, 1) = "Компьютер 6"
        .Cells(34, 1) = "Компьютер 7"
        .Cells(35, 1) = "Компьютер 8"
        .Cells(36, 1) = "Компьютер 9"
        .Cells(37, 1) = "Компьютер 10"
        .Cells(38, 1) = "Компьютер 11"
        .Cells(39, 1) = "Компьютер 12"
        .Cells(40, 1) = "Компьютер 13"
        .Cells(41, 1) = "Компьютер 14"
        .Cells(42, 1) = "Компьютер 15"
        .Cells(43, 1) = "Компьютер 16"
        .Cells(44, 1) = "Компьютер 17"
        .Cells(45, 1) = "Компьютер 18"
        .Cells(46, 1) = "Компьютер 19"
        .Cells(47, 1) = "Компьютер 20"
        .Cells(48, 1) = "ИТОГО"
        For i = 1 To 20
            For j = 1 To 5
                Sheets("Результат").Cells(27 + i, 2 + j) = koll(i, j) * cena(i)
                stoim(j) = stoim(j) + koll(i, j) * cena(i)
                stoim(19) = stoim(19) + koll(i, j) * cena(i)
            Next j
            Sheets("Результат").Cells(27 + i, 2) = cena(i)
            Sheets("Результат").Cells(27 + i, 8) = cena(i) * koll_n(i)
        Next i
        For j = 1 To 5
            Sheets("Результат").Cells(48, 2 + j) = stoim(j)
        Next j
        
        For i = 1 To 20
            For j = 1 To 5
                kollD1(i) = Cells(3 + i, 3)
                kollD2(i) = Cells(3 + i, 4)
                If kollD1(i) > minkollD1 Then
                    minkollD1 = kollD1(i)
                Else
                    If kollD2(i) > minkollD2 Then
                        minkollD2 = kollD2(i)
                        nomerKomp = i
                    End If
                End If
            Next j
        Next i
        
        .Cells(48, 8) = stoim(19)
        .Cells(49, 1) = "Стоимость электроэнергии за неделю"
        .Cells(49, 5) = stoim(19)
        .Cells(50, 1) = "Наименьшее количество электроэнергии потребленное одним компьютером в первый день"
        .Cells(51, 1) = "Наименьшее количество электроэнергии потребленное одним компьютером во второй день"
        .Cells(50, 8) = minkollD1
        .Cells(51, 8) = minkollD2
        .Cells(52, 1) = "Номер компьютера потребившего меньше электроэнергии в первый и второй день"
        .Cells(52, 8) = nomerKomp
    End With
 
End Sub
0
Заблокирован
10.01.2015, 04:26
Вот так-же файл, в формате xls
я его решил выложить тоже, чтобы у всех была возможность его увидеть,
а не только у 10% пользователей...
Вложения
Тип файла: xls Курсовая работа.xls (60.0 Кб, 12 просмотров)
0
Заблокирован
10.01.2015, 07:26
Вот еще лучше:
Кликните здесь для просмотра всего текста
Visual Basic
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
Public Sub CommandButton1_Click()
    Dim cena(20) As Double
    ' стоимость электроэнергии
    Dim koll(20, 5) As Integer
    'количество потребленной электроэнергии (по дням)
    Dim stoim(19) As Double
    'стоимость электроэнергии в день
    Dim koll_n(20) As Integer
    'количество электроэнергии за неделю
    Dim kollD1(20) As Integer
    ' количество электроэнергии потребленной  в первый день
    Dim kollD2(20) As Integer
    'количество электроэнергии потребленной  во второй день
    Dim nomerKomp As Integer
    'номер компьютера потребившего минимальное количество электроэнергии в первый и второй день
    Dim minkollD1 As Integer
    'минимальное количество потребленной электроэнергии в первый день
    Dim minkollD2 As Integer
    'минимальное количество потребленной электроэнергии во второй день
    Dim i As Integer, j As Integer
    'счетчики циклов
    
    For i = 1 To 20
        koll_n(i) = 0
        kollD1(i) = 0
        kollD2(i) = 0
    Next
    
    For j = 1 To 6
        stoim(j) = 0
    Next
    
    minkollD1 = 0
    minkollD2 = 0
    nomerKomp = 0
    
    Sheets("Нач_д").Select
    For i = 1 To 20
        cena(i) = Cells(3 + i, 2)
    Next
    For i = 1 To 20
        For j = 1 To 5
            koll(i, j) = Cells(3 + i, 2 + j)
        Next j
    Next i
    With Sheets("Результат")
        .Cells(1, 1) = "Количество потребленной электроэнергии"
        .Cells(2, 1) = "Номер компьютера"
        .Cells(2, 2) = "Стоимость электроэнергии"
        .Cells(2, 3) = "Потреблено электроэнергии"
        .Cells(3, 3) = "1-ый день"
        .Cells(3, 4) = "2-ой день"
        .Cells(3, 5) = "3-ий день"
        .Cells(3, 6) = "4-ый день"
        .Cells(3, 7) = "5-ый день"
        .Cells(3, 8) = "Всего"
        .Cells(4, 1) = "Компьютер 1"
        .Cells(5, 1) = "Компьютер 2"
        .Cells(6, 1) = "Компьютер 3"
        .Cells(7, 1) = "Компьютер 4"
        .Cells(8, 1) = "Компьютер 5"
        .Cells(9, 1) = "Компьютер 6"
        .Cells(10, 1) = "Компьютер 7"
        .Cells(11, 1) = "Компьютер 8"
        .Cells(12, 1) = "Компьютер 9"
        .Cells(13, 1) = "Компьютер 10"
        .Cells(14, 1) = "Компьютер 11"
        .Cells(15, 1) = "Компьютер 12"
        .Cells(16, 1) = "Компьютер 13"
        .Cells(17, 1) = "Компьютер 14"
        .Cells(18, 1) = "Компьютер 15"
        .Cells(19, 1) = "Компьютер 16"
        .Cells(20, 1) = "Компьютер 17"
        .Cells(21, 1) = "Компьютер 18"
        .Cells(22, 1) = "Компьютер 19"
        .Cells(23, 1) = "Компьютер 20"
        For i = 1 To 20
            .Cells(3 + i, 2) = cena(i)
            For j = 1 To 5
                .Cells(3 + i, 2 + j) = koll(i, j)
                koll_n(i) = koll_n(i) + koll(i, j)
            Next j
            .Cells(3 + i, 8) = koll_n(i)
        Next i
        .Cells(25, 1) = "Результат в денежном эквиваленте"
        .Cells(26, 1) = "Номер компьютера"
        .Cells(26, 2) = "Стоимость электроэнергии"
        .Cells(26, 3) = "Стоимость потребленной электроэнергии"
        .Cells(27, 3) = "1-ый день"
        .Cells(27, 4) = "2-ой день"
        .Cells(27, 5) = "3-ий день"
        .Cells(27, 6) = "4-ый день"
        .Cells(27, 7) = "5-ый день"
        .Cells(27, 8) = "Всего"
        .Cells(28, 1) = "Компьютер 1"
        .Cells(29, 1) = "Компьютер 2"
        .Cells(30, 1) = "Компьютер 3"
        .Cells(31, 1) = "Компьютер 4"
        .Cells(32, 1) = "Компьютер 5"
        .Cells(33, 1) = "Компьютер 6"
        .Cells(34, 1) = "Компьютер 7"
        .Cells(35, 1) = "Компьютер 8"
        .Cells(36, 1) = "Компьютер 9"
        .Cells(37, 1) = "Компьютер 10"
        .Cells(38, 1) = "Компьютер 11"
        .Cells(39, 1) = "Компьютер 12"
        .Cells(40, 1) = "Компьютер 13"
        .Cells(41, 1) = "Компьютер 14"
        .Cells(42, 1) = "Компьютер 15"
        .Cells(43, 1) = "Компьютер 16"
        .Cells(44, 1) = "Компьютер 17"
        .Cells(45, 1) = "Компьютер 18"
        .Cells(46, 1) = "Компьютер 19"
        .Cells(47, 1) = "Компьютер 20"
        .Cells(48, 1) = "ИТОГО"
        For i = 1 To 20
            For j = 1 To 5
                .Cells(27 + i, 2 + j) = koll(i, j) * cena(i)
                stoim(j) = stoim(j) + koll(i, j) * cena(i)
                stoim(19) = stoim(19) + koll(i, j) * cena(i)
            Next j
            .Cells(27 + i, 2) = cena(i)
            .Cells(27 + i, 8) = cena(i) * koll_n(i)
        Next i
        For j = 1 To 5
            .Cells(48, 2 + j) = stoim(j)
        Next j
        
        For i = 1 To 20
            For j = 1 To 5
                kollD1(i) = Cells(3 + i, 3)
                kollD2(i) = Cells(3 + i, 4)
                If kollD1(i) > minkollD1 Then
                    minkollD1 = kollD1(i)
                Else
                    If kollD2(i) > minkollD2 Then
                        minkollD2 = kollD2(i)
                        nomerKomp = i
                    End If
                End If
            Next j
        Next i
        
        .Cells(48, 8) = stoim(19)
        .Cells(49, 1) = "Стоимость электроэнергии за неделю"
        .Cells(49, 5) = stoim(19)
        .Cells(50, 1) = "Наименьшее количество электроэнергии потребленное одним компьютером в первый день"
        .Cells(51, 1) = "Наименьшее количество электроэнергии потребленное одним компьютером во второй день"
        .Cells(50, 8) = minkollD1
        .Cells(51, 8) = minkollD2
        .Cells(52, 1) = "Номер компьютера потребившего меньше электроэнергии в первый и второй день"
        .Cells(52, 8) = nomerKomp
    End With
 
End Sub]



Теперь вопрос к вам, например это место:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        For i = 1 To 20
            For j = 1 To 5
                kollD1(i) = Cells(3 + i, 3)
                kollD2(i) = Cells(3 + i, 4)
                If kollD1(i) > minkollD1 Then
                    minkollD1 = kollD1(i)
                Else
                    If kollD2(i) > minkollD2 Then
                        minkollD2 = kollD2(i)
                        nomerKomp = i
                    End If
                End If
            Next j
        Next i
тут бы надо явно указать с какого листа получаете Cells
вобщем жду ответов...

Не по теме:

Претензия!!!, форум работает медленно и не корректно!, не знаю почему так
но в моём браузере всё время сообщения об ошибке -со страниц CyberForum...
и загрузка страницы, даже при наличии скоростного интернета очень медленная
а должна открываться меньше чем за секунду, как во многих других сайтах
не скрою, стоит АдБлокер и всякие антирекламные расширения,
просьба специалистов всё это доработать, и учитывать мнения всех пользователей[

Создал тему, пусть эти небожители с этим разбираются


0
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 11
10.01.2015, 21:12  [ТС]
Мой вопрос остался не решенным. Во всей программе не работает только выбор наименьшей потребленной энергии за первые два дня. Наверное вы тоже не знаете в чем причина ошибки.

Добавлено через 4 минуты
Спасибо за участие!
0
Заблокирован
10.01.2015, 21:16
Цитата Сообщение от NatalyaKoroleva Посмотреть сообщение
только выбор наименьшей потребленной энергии за первые два дня
Ну вот, уже чтото, а кто-ж знал где искать ошибку кроме вас?, вы же молчите всёвремя,
а надо больше общаться
0
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 11
10.01.2015, 21:19  [ТС]
К сожалению на общение совсем нет времени. Решить поставленную задачу надо до 18 числа сего месяца, иначе грозит отчисление. Т.к. это уже вторая пересдача
0
10.01.2015, 21:42

Не по теме:

До 18 это гора времени, вот смотрите
Курсовую решил за час, стоило начать общаться

0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
10.01.2015, 21:47
Цитата Сообщение от NatalyaKoroleva Посмотреть сообщение
К сожалению на общение совсем нет времени
Это по крайней мере невежливо. Человек старается Вам помочь, а у Вас времени нет на общение
1
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 11
10.01.2015, 22:40  [ТС]
Извините за невежливость. Я правда очень занятой человек. Во всем этом хозяйстве под названием программы я полный профан. Сделала задание по методичке. Там был пример
В примере как раз последнее задание другое. Вот я и застряла на последнем задании. Но просмотрев в интернете кучу всего, пришла к выводу что написала я его правильно,только не пойму почему он не работает
0
Заблокирован
10.01.2015, 22:50
Цитата Сообщение от NatalyaKoroleva Посмотреть сообщение
Я правда очень занятой человек
В этом мы похожи
Объясните толком, где оно минимальное, какая это переменная или ячейка
с чем вы пытались сравнивать, где место в коде Ваших попыток ну и тд, и тд и тд
здесь все очень занятые, вы уж мне поверьте

Добавлено через 4 минуты
Кому охото, такой здоровенный, и неоптимизированный код перебирать и отыскивать
малопонятные проблемы, за спасибо, таких нет, бывает конечно но это скорее исключение
0
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 11
10.01.2015, 23:00  [ТС]
Понятно что за спасибо не красиво, но я вот стесняюсь спросить как по другому. Очень не хочется оказаться в такой ситуации без решения и еще и носом.
А сравниваю я потребление энергии в первые два дня. И пытаюсь выбрать компьютер потребивший меньше энергии в эти первые два дня. В коде это то место которое Вы неоднократно мне выделили
0
Заблокирован
10.01.2015, 23:20
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот так попробуйте

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        minkollD2 = 999
        minkollD1 = 999
        For i = 1 To 20
            For j = 1 To 5
                kollD1(i) = Cells(3 + i, 3)
                kollD2(i) = Cells(3 + i, 4)
                If kollD1(i) < minkollD1 Then
                    minkollD1 = kollD1(i)
                Else
                    If kollD2(i) < minkollD2 Then
                        minkollD2 = kollD2(i)
                        nomerKomp = i
                    End If
                End If
            Next j
        Next i
Добавлено через 1 минуту
minkollD2 и minkollD1, перед циклом должны быть с огромным числом
999 я для примера поставил
И поменьше стесняйтесь, а то бы так до 18 и просидели, один на один со своей курсовой

Добавлено через 8 минут
Даже можно так по максимуму:
Visual Basic
1
2
3
4
    minkollD2 = 32767
        minkollD1 = 32767
        For i = 1 To 20
            For j = 1 To 5
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.01.2015, 23:20
Помогаю со студенческими работами здесь

Рассчитать стоимость потребленной электроэнергии по заданным времени и тарифу
Физическая лаборатория использует электросчетчик с трьохтарифною сеткой оплаты (с 6.00 до 9.00 и с 17.00 до 22.00 - полный тариф, с 9.00...

Прогноз потребления электроэнергии на неделю вперед
Всем привет! Прошу вас помочь с прогнозированием потребления электроэнергии. С C# дел никогда не имел, поэтому еще не знаю даже за что...

Подсчитать суммарное потребление электроэнергии за год каждым цехом
Обработка двумерных массивов. (Исходные данные). Статистическое управление имеет сведения о стоимости некоторого минимального набора из...

Вывести список заводов, у которых экономия электроэнергии составила более 5%. Найти завод с наибольшим процентом экономии электроэнергии.
Решите пожалуйста через внешний файл. Даны массивы PR1, ... , PR9 - наименования заводов; L1, ... , L9 - лимит электроэнергии,...

Кто сколько времени в неделю проводит за компьютером?
Я рерайтер, оплата как понимаете сдельная, чем больше просижу - тем и денежки больше! Недоброжелатели всё пугают, хана твоим глазкам......


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru