TP-массивы
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
Парни помогите написать программы:
1)Дан двумерный массив размерностью 4х6, заполненный целыми числами с клавиатуры. Сформулировать одномерный массив, каждый элемент которого равен количеству элементов соответствующей строки, больших данного.
2)Дан двумерный массив размером nxm, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором имеются одинаковые элементы.
2)Заполнить массив размером 7х7 по правилу:
1 1 1 1 1 1 1
0 1 1 1 1 1 0
0 0 1 1 1 0 0
0 0 0 1 0 0 0
0 0 1 1 1 0 0
0 1 1 1 1 1 0
1 1 1 1 1 1 1
1)Дан двумерный массив размерностью 4х6, заполненный целыми числами с клавиатуры. Сформулировать одномерный массив, каждый элемент которого равен количеству элементов соответствующей строки, больших данного.
2)Дан двумерный массив размером nxm, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором имеются одинаковые элементы.
2)Заполнить массив размером 7х7 по правилу:
1 1 1 1 1 1 1
0 1 1 1 1 1 0
0 0 1 1 1 0 0
0 0 0 1 0 0 0
0 0 1 1 1 0 0
0 1 1 1 1 1 0
1 1 1 1 1 1 1
Держи третью
[Syntax="Pascal"]
uses crt;
var a : array[1..7,1..7] of 0..1;
i,j : integer;
begin
clrscr;
a[1,1]:=1; a[1,2]:=1; a[1,3]:=1;a[1,4]:=1; a[1,5]:=1; a[1,6]:=1; a[1,7]:=1;
a[2,1]:=0; a[2,2]:=1; a[2,3]:=1;a[2,4]:=1; a[2,5]:=1; a[2,6]:=1; a[2,7]:=0;
a[3,1]:=0; a[3,2]:=0; a[3,3]:=1;a[3,4]:=1; a[3,5]:=1; a[3,6]:=0; a[3,7]:=0;
a[4,1]:=0; a[4,2]:=0; a[4,3]:=0;a[4,4]:=1; a[4,5]:=0; a[4,6]:=0; a[4,7]:=0;
a[5,1]:=0; a[5,2]:=0; a[5,3]:=1;a[5,4]:=1; a[5,5]:=1; a[5,6]:=0; a[5,7]:=0;
a[6,1]:=0; a[6,2]:=1; a[6,3]:=1;a[6,4]:=1; a[6,5]:=1; a[6,6]:=1; a[6,7]:=0;
a[7,1]:=1; a[7,2]:=1; a[7,3]:=1;a[7,4]:=1; a[7,5]:=1; a[7,6]:=1; a[7,7]:=1;
for i:=1 to 7 do
begin
for j:=1 to 7 do
begin
write(a[i,j],' ');
end;
writeln;
end;
readkey;
end.
[/Syntax]
[Syntax="Pascal"]
uses crt;
var a : array[1..7,1..7] of 0..1;
i,j : integer;
begin
clrscr;
a[1,1]:=1; a[1,2]:=1; a[1,3]:=1;a[1,4]:=1; a[1,5]:=1; a[1,6]:=1; a[1,7]:=1;
a[2,1]:=0; a[2,2]:=1; a[2,3]:=1;a[2,4]:=1; a[2,5]:=1; a[2,6]:=1; a[2,7]:=0;
a[3,1]:=0; a[3,2]:=0; a[3,3]:=1;a[3,4]:=1; a[3,5]:=1; a[3,6]:=0; a[3,7]:=0;
a[4,1]:=0; a[4,2]:=0; a[4,3]:=0;a[4,4]:=1; a[4,5]:=0; a[4,6]:=0; a[4,7]:=0;
a[5,1]:=0; a[5,2]:=0; a[5,3]:=1;a[5,4]:=1; a[5,5]:=1; a[5,6]:=0; a[5,7]:=0;
a[6,1]:=0; a[6,2]:=1; a[6,3]:=1;a[6,4]:=1; a[6,5]:=1; a[6,6]:=1; a[6,7]:=0;
a[7,1]:=1; a[7,2]:=1; a[7,3]:=1;a[7,4]:=1; a[7,5]:=1; a[7,6]:=1; a[7,7]:=1;
for i:=1 to 7 do
begin
for j:=1 to 7 do
begin
write(a[i,j],' ');
end;
writeln;
end;
readkey;
end.
[/Syntax]
Alex_Burn писал(а):Держи третью
[Syntax="Pascal"]
uses crt;
var a : array[1..7,1..7] of 0..1;
i,j : integer;
begin
clrscr;
a[1,1]:=1; a[1,2]:=1; a[1,3]:=1;a[1,4]:=1; a[1,5]:=1; a[1,6]:=1; a[1,7]:=1;
a[2,1]:=0; a[2,2]:=1; a[2,3]:=1;a[2,4]:=1; a[2,5]:=1; a[2,6]:=1; a[2,7]:=0;
a[3,1]:=0; a[3,2]:=0; a[3,3]:=1;a[3,4]:=1; a[3,5]:=1; a[3,6]:=0; a[3,7]:=0;
a[4,1]:=0; a[4,2]:=0; a[4,3]:=0;a[4,4]:=1; a[4,5]:=0; a[4,6]:=0; a[4,7]:=0;
a[5,1]:=0; a[5,2]:=0; a[5,3]:=1;a[5,4]:=1; a[5,5]:=1; a[5,6]:=0; a[5,7]:=0;
a[6,1]:=0; a[6,2]:=1; a[6,3]:=1;a[6,4]:=1; a[6,5]:=1; a[6,6]:=1; a[6,7]:=0;
a[7,1]:=1; a[7,2]:=1; a[7,3]:=1;a[7,4]:=1; a[7,5]:=1; a[7,6]:=1; a[7,7]:=1;
for i:=1 to 7 do
begin
for j:=1 to 7 do
begin
write(a[i,j],' ');
end;
writeln;
end;
readkey;
end.
[/Syntax]
Это ж надо такое придумать =)
Программа должна сформировать массив, а не выдать заложенный программистом.
Например так:
[syntax='Delphi']
program matr;
const
N=7;
var
Matrix:array [1..N,1..N] of byte;
i,j,c,k,f:integer;
begin
c:=0;
f:=1;
for I:=1 to N do
begin
k:=N-C*2;
for J:=1 to N do
begin
if (J<=C)or(J>C+K) then
Matrix[J,I]:=0
else
Matrix[J,I]:=1;
end;
if I>=4 then
F:=-1;
inc(C,F);
end;
for i:=1 to N do
begin
for j:=1 to N do
write(Matrix[J,I],' ');
writeln;
end;
readln;
end.
[/syntax]
Ни что так не ограничивает фантазию программиста, как компилятор...
Написано, заполнить массив, ну я и заполнил 

- Oleg_Rus
- Сообщения: 335
- Зарегистрирован: 16 окт 2006, 09:56
- Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
- Контактная информация:
насчет второй задачи, скажу так:
1.формируешь массив случайных чисел (Random, если не знаешь)
2.по i-тому столбцу устраивашь перебор.
1.формируешь массив случайных чисел (Random, если не знаешь)
2.по i-тому столбцу устраивашь перебор.
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
- Oleg_Rus
- Сообщения: 335
- Зарегистрирован: 16 окт 2006, 09:56
- Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
- Контактная информация:
function find;
begin
k:=1;
for i:=1 to n do
begin
for j:=1 to m do
begin
if a[j, i]=a[j, k] then find:=true;
end;
begin
k:=1;
for i:=1 to n do
begin
for j:=1 to m do
begin
if a[j, i]=a[j, k] then find:=true;
end;
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
- Oleg_Rus
- Сообщения: 335
- Зарегистрирован: 16 окт 2006, 09:56
- Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
- Контактная информация:
function find;
begin
k:=1;
for i:=1 to n do
begin
for j:=1 to m do
begin
if a[j, i]=a[j, k] then find:=true;
inc(k);
end;
(прим: код написан на вскидку и второпях, ошибок много, но идею понять можно)
begin
k:=1;
for i:=1 to n do
begin
for j:=1 to m do
begin
if a[j, i]=a[j, k] then find:=true;
inc(k);
end;
(прим: код написан на вскидку и второпях, ошибок много, но идею понять можно)
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
- un4-funeral
- Сообщения: 60
- Зарегистрирован: 18 апр 2008, 23:40
- Контактная информация:
Oleg_Rus, после прогонки k надо снова единице присваивать
чтоб уже для нового столбца вычисляло
чтоб уже для нового столбца вычисляло
2Alex_Burn: Улыбнуло 

< L3X. (ICQ: 8721378, Mail - l3x@list.ru)
Помогите еще с первой задачей плз!