![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
как реализовать такую проверку: в гриде(10*10),в случайной ячейке стоит число,мы заполняем какие либо ячейки еденицами.ВНИМАНИЕ ВОПРОС: проверить чтоб сумма единиц в строке и столбце,на пересечении которых находится ячейка(с числом) была равна этому числу?
П.С.задолбался с курсачом lmikle: Предупреждение. Желтым не видно. Не заставляйте других ломать глаза. Последний раз редактировалось lmikle, 21.04.2014 в 01:02. |
|
#2
|
|||
|
|||
|
И в чем проблема?
Код:
var
C, R : Integer;
N : Integer;
I : Integer;
S : Integer;
begin
// Генерируем позицию и само число
C := Random(10);
R := Random(10);
N := Random(10);
StringGrid1.Cell[C,R] := N;
// Считаем сумму по строке и столбцу
S := 0;
For I := 0 To 9 Do
S := S +
TryStrToInt(StringGrid.Cell[C,I]) +
TryStrToInt(StringGrid1.Cell[I,R]);
// Проверяем
If S = 3*N
Then ShowMessage('Совпадает!')
Else ShowMessage('Не совпадает!');
end; |
|
#3
|
||||
|
||||
|
не работает! пишет ошибку: ..is not valid integer value...
![]() |
|
#4
|
|||
|
|||
|
..is not valid integer value...
дословный перевод: ...не есть правильное целое число... |
| Этот пользователь сказал Спасибо icWasya за это полезное сообщение: | ||
Alegun (21.04.2014)
| ||
|
#5
|
||||
|
||||
|
СПАСИБО КЭП.Я тоже английский знаю.
Вот вобщем кусок кода, в котором ошибка. Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
if M[k,kk]='' then //массив стринговый
M[k,kk]:='0';
if M[k,kk]<>'0' then
znach:=strtoint(M[k,kk]);
ii:=1;
summ:=0;
while ii<9 do
begin
ii:=ii+1;
summ:=summ+ StrToInt(M[k,ii] + M[ii,kk]);
end;
if summ=znach then
ShowMessage('Verno')
else
ShowMessage('Ne verno');
end; |
|
#6
|
||||
|
||||
|
Оффтоп:
ТС hsMapk, вы поакуратнее с выражениями-то будьте - УК icWasya не смотря на репутацию (это временно) проверенный, надёжный товарищ, многих бедолаг, типа вас выручал - КЭПов у нас нет По теме: Замените ii:=ii+1; на Inc(ii); и summ:=summ+ StrToInt(M[k,ii] + M[ii,kk]); на Inc(summ, StrToInt(M[k,ii]) + StrToInt(M[ii,kk])); , здесь возможен выход за пределы диапазона типа интеджер З.Ы. Капитан Очевидность это подтверждает :-) Последний раз редактировалось Alegun, 22.04.2014 в 12:55. |