Uses crt;
var a:array[1..10,1..12] of integer;
s,x,y: integer;
begin
s:=0;
clrscr; randomize;
textcolor(LightGray);
for x:=1 to 10 do
Begin
for y:=1 to 12 do
Begin
[COLOR=red]a[x,y]:= random(90)+10;[/COLOR]
If a[x,y]<50 Then Inc(s);
Write(a[x,y]:3);
End;
WriteLn;
End;
ReadLn; {ожидание нажатия на Enter}
for x:=1 to 10 do
Begin
for y:=1 to 12 do
Begin
textcolor(LightGray);
If (y<>1) and (y<>12) Then
if (Not Odd(a[x,y-1])) and (Not Odd(a[x,y+1])) then TextColor(White)
Else textColor(LightGray);
Write(a[x,y]:3);
End;
WriteLn;
End;
textcolor(Green); write(' Кол-во чисел меньше 50 = ',s);
readkey;
end.
Двумерный массив!
***
Необходимо заполнить случайными двузначными числами матрицу из 10 столбцов и 12 строк. Напечатать эту матрицу и рядом напечатать количество чисел меньше 50.
Затем, после нажатия enter, выделить цветом те элементы матрицы, у которых слева и справа стоят чётные числа. Посчитать и напечать количество таких чисел.
***
Uses crt;
var
a:array[1..10,1..12] of integer;
s,x,y: integer;
begin
s:=0;
clrscr; randomize;
for x:=1 to 10 do
for y:=1 to 12 do
a[x,y]:= random(100)-random(11);
clrscr;
textcolor(10);
for x:=1 to 10 do
for y:=1 to 12 do
begin
gotoxy(x*4,y);
if a[x,y]<50 then
begin
s:=s+1;
textcolor(12);
end else textcolor(10);
write(a[x,y]);
end;
textcolor(15); write(' Количество искомых чисел=',s);
readkey;
end.
***
Я напечатал всю программу до последних заданий с чётными числами. На цветовые изменения не обращайте внимание!
И у меня вопрос! Помогите пожалуйста! Как найти элементы матрицы, у которых слева и справа стоят чётные числа? Очень срочно!!! А кстати и ещё ! Двузначные числа - это: random(100)-random(11) или по-другому?
С уважением,
denamer!
P.S. ПОЖАЛУЙСТА!!!
random(100)-random(11) - это не только двузначные числа, это числа от -10 до 99
Код:
Кстати насчет выделенных элементов: выделяются только те у которых слева И справа четные числа, например 1-ый элемент любой строки никогда не будет выделен т.к. слева то него элементов НЭТУ, естественно с последним элементом любой строки такая же фигня...
И еще, о двузначных числах:
Тебе какие???
Вставь зеленый вместо красного кода
1)Положительные:
[COLOR=green]a[x,y]:= random(90)+10;[/COLOR]
2)Отрицательные:
[COLOR=green]a[x,y]:= random(110)-99;[/COLOR]
3)Положительные + Отрицательные:
Можно сделать по разному, например так:
[COLOR=green]
r:= random(2);
If r=0 Then a[x,y]:= random(90)+10
Else a[x,y]:= random(110)-99;
[/COLOR]
Мне это очень и очень сильно помогло!!!
Искреннее спасибо!
~denamer
А почему после двоеточия - 3?
Цитата:
Originally posted by denamer
-Write(a[x,y]:3)-
А почему после двоеточия - 3?
-Write(a[x,y]:3)-
А почему после двоеточия - 3?
Да там действительно не должно быть :3, просто
оставь -Write(a[x,y])-
Цитата:
Originally posted by denamer
-Write(a[x,y]:3)-
А почему после двоеточия - 3?
-Write(a[x,y]:3)-
А почему после двоеточия - 3?
Двоеточие означает форматирование, т.е. данная ячейка массива при выводе займет три позиции, независимо от того, сколькизначное число (одно-, двух- или трехзначное).
Цитата:
Originally posted by sp999
Двоеточие означает форматирование, т.е. данная ячейка массива при выводе займет три позиции, независимо от того, сколькизначное число (одно-, двух- или трехзначное).
Двоеточие означает форматирование, т.е. данная ячейка массива при выводе займет три позиции, независимо от того, сколькизначное число (одно-, двух- или трехзначное).
В раделе VAR указан тип Integer (var a:array[1..10,1..12] of integer; ) Двоеточие и 3 здесь нафиг не нужно. Вот еслиб был REAL...
Цитата:
Originally posted by RusHak
В раделе VAR указан тип Integer (var a:array[1..10,1..12] of integer; ) Двоеточие и 3 здесь нафиг не нужно. Вот еслиб был REAL...
В раделе VAR указан тип Integer (var a:array[1..10,1..12] of integer; ) Двоеточие и 3 здесь нафиг не нужно. Вот еслиб был REAL...
Здесь оно не надо вовсе не по этой причине, а потому что все выводимые числа двузначные и выведутся рОвно.
Цитата:
Originally posted by sp999
Здесь оно не надо вовсе не по этой причине, а потому что все выводимые числа двузначные и выведутся рОвно.
Здесь оно не надо вовсе не по этой причине, а потому что все выводимые числа двузначные и выведутся рОвно.
Если бы тип был Real то как угодно вводи всё равно ответ был бы в виде 0.0000000+e и т.д.
Цитата:
Originally posted by RusHak
Если бы тип был Real то как угодно вводи всё равно ответ был бы в виде 0.0000000+e и т.д.
Если бы тип был Real то как угодно вводи всё равно ответ был бы в виде 0.0000000+e и т.д.
Забыл сказать, что по условию задачи тип Real был бы здесь нелеп и неуместен. Предлагаю флуд закончить.
Цитата:
Originally posted by sp999
Забыл сказать, что по условию задачи тип Real был бы здесь нелеп и неуместен. Предлагаю флуд закончить.
Забыл сказать, что по условию задачи тип Real был бы здесь нелеп и неуместен. Предлагаю флуд закончить.
Хорошо флуд закончим. :)
Заранее спасибо!