IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Не получается в матрице удалять отдельные элементы.помогите, может другой подход нужен?
Евгения141294
сообщение 18.08.2013 15:36
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Евгения

Репутация: -  0  +


Требуется разработать алгоритм и программу расчета матрицы содержащей в себе все четные числа другой матрицы. Размер матрицы задан 6*6

У меня получилось только оставить четные числа,а как составить матрицу содержащую только четные другой не могу понять как сделать((




Program lr4;
uses crt;
const n=6;

type matrA = array[1..n, 1..n] of integer;
matrB = array[1..n, 1..n] of string;
matrC = array[1..n, 1..n] of string;
Var
i,j,S:integer;
V:string;
a:matrA;
b:matrB;
c:matrC;

procedure vvod;
var i,j:integer;
begin
textattr:=green;
gotoxy (20,4);
writeln ('Ввведите элемент массива :');
for i:=1 to n do
begin
for j:=1 to n do
begin

textattr:=yellow;
write ('A[',i,',',j,']=');
read (A[i,j]);

S:=A[i,j];
Str (S,V);
C[j,i]:=V;
B[j,i]:=C[j,i];
end;
end;
end;
function chot:integer;
begin
chot:=A[i,j];
end;

begin

clrscr;
vvod;

for i:=1 to n do
begin
for j:=1 to n do
begin
if A[i,j] mod 2 <> 0 then
B[i,j]:=' '
else
begin
A[i,j]:=chot;
S:=A[i,j];
Str(S,V);
B[i,j]:=V;
end;

end;
end;


clrscr;
gotoxy (1,9);
for i:=1 to n do
begin
for j:=1 to n do
begin
write (A[i,j]);
write (' ');
end;
writeln ('');
end;
readln;

gotoxy(1,20);
for i:=1 to n do
begin
for j:=1 to n do
begin
write (B[i,j]:3);
write (' ');
end;
writeln ('');
end;
readln;
end.


Сообщение отредактировано: Евгения141294 - 18.08.2013 15:55
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
-Федосеев Павел-
сообщение 22.08.2013 21:41
Сообщение #2


Гость






Вернее, наоборот

for i:=1 to n do
for j:=1 to n do
if not Odd(A[i, j]) then
begin
EvenNum:=EvenNum+1;
EvenList[EvenNum]:=A[i, j];
end;
if EvenNum=0 then
begin
WriteLn('Чётных чисел в матрице нет.');
Halt;
end;
 К началу страницы 
+ Ответить 
Евгения141294
сообщение 23.08.2013 19:36
Сообщение #3





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Евгения

Репутация: -  0  +


А если у меня четных чисел например 17 ?
он мне строкой выдаёт эти 17 чисел
вот что у меня получилось

Program lr4;
uses crt;
const n=6;

type matrA = array[1..n, 1..n] of integer;
matrB = array[1..n, 1..n] of integer;


Var
i,j,EvenNum,Nb,Mb:integer;

EvenList:array[1..36] of integer;
a:matrA;
b:matrB;


procedure vvod;
var i,j:integer;
begin
textattr:=green;
gotoxy (20,4);
writeln ('‚ўҐ¤ЁвҐ н«Ґ¬Ґ­в ¬ ббЁў :');
for i:=1 to n do
begin
for j:=1 to n do
begin

textattr:=yellow;
write ('A[',i,',',j,']=');
read (A[i,j]);
end;
end;
end;


begin

clrscr;
vvod;
EvenNum:=0;
for i:=1 to n do
begin
for j:=1 to n do
begin
if not Odd(A[i,j]) then
begin
EvenNum:=EvenNum+1;
EvenList[EvenNum]:=A[i,j];
end;
end;
end;

if EvenNum=0 then
begin
WriteLn('Чётных чисел в матрице нет.');
Halt;
end;

writeln;
writeln (EvenNum);

Nb:=1;
Mb:=EvenNum;
for i:=2 to round(sqrt(EvenNum)+1) do
if EvenNum mod i = 0 then
begin
j:=EvenNum div i;
if (i+j)< (Nb+Mb) then
begin
Nb:=i;
Mb:=j;
end;
end;

For i:=1 to Nb do
for j:=1 to Mb do
B[i,j]:=EvenList[(i-1)*Mb+j];

for i:=1 to Nb do
begin
for j:=1 to Mb do
begin
write (B[i,j]:3);
write (' ');
end;
writeln ('');
end;


readln;
readln;
end.




Сообщение отредактировано: Евгения141294 - 23.08.2013 19:43
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 15:19
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"