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

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

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

 
 Ответить  Открыть новую тему 
> Ещё одна задача... но на двухмерный массив (матрицу), Наведите меня на логику и понимания задачи:)
сообщение
Сообщение #1


Пионер
**

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

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


Здача 1077 б


Дан двухмерный массив. Превратить:
б.) первый столбец на место последнего, при этом вторую,тертью... последний столбцы сместить влево.


Лично я ничего не понял из написаного выше... обясните пожалуйста логику задачи:-)

эх..... как всё у меня запущено и трудно blink.gif


--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


1 2 3
4 5 6
7 8 9

-->

2 3 1
5 6 4
8 9 7


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

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

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


ага во , как получается smile.gif

а как это делается(решается) в матиматике? blink.gif

Сообщение отредактировано: Димас -


--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


  for i := 1 to n do
for j := 1 to m - 1 do begin
T := x[i, j];
x[i, j] := x[i, j + 1];
x[i, j + 1] := T;
end;



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

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

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


А можно чуть поподробней обяснить это:

for i := 1 to n do
for j := 1 to m - 1 do begin
T := x[i, j];
x[i, j] := x[i, j + 1];
x[i, j + 1] := T;
end;


Пожалуйстаsmile.gif

?

Сообщение отредактировано: Димас -


--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

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

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


ну ладно....
есть ещё одна задачка на двухмерный массив

Задача1066б


Дано двухмерный массив. Удалить из него: б.) S-й столбец

Всё в задаче больше ничего не сказаноsad.gif

что это за S-й столбец ?

например?

blink.gif


--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

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


Цитата
что это за S-й столбец ?

По-моему, пользователь должен ввести номер столбца (S), который нужно удалить.
1 2
4 5
7 8
s=1 =>
2
5
8
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Пионер
**

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

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


Посидел я до 00:00 ночи, и вот что решил всё таки blink.gif задачу1077б
воть:

Program bla_bla;

uses crt;

const
mass: Array [1..3,1..3] of integer = ((11, 12, 13),(21, 22, 23),(31, 32, 33));

var
klon_p,i:integer;
begin
ClrScr;
textcolor(2);
writeln('исходный масив');
{------------------------------}
for i:=1 to 3 do
begin
writeln(mass[i,1],' ', mass[i,2],' ', mass[i,3]);

end;
{------------------------------}
for i:=1 to 3 do
begin
klon_p:=mass[i,1];
mass[i,1]:=mass[i,2];
mass[i,2]:=mass[i,3];
mass[i,3]:=klon_p;
end;
{------------------------------}
textcolor(4);
writeln;
writeln('результат обработки');
{------------------------------}
for i:=1 to 3 do
begin
writeln(mass[i,1],' ', mass[i,2],' ', mass[i,3]);

end;
{------------------------------}
readln;
end.



а терь мона и спатки cool.gif

smile.gif

Сообщение отредактировано: Димас -


--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Пионер
**

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

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


Цитата(Димас @ 27.12.2006 21:59) *

ну ладно....
есть ещё одна задачка на двухмерный массив

Задача1066б


Дано двухмерный массив. Удалить из него: б.) S-й столбец

Всё в задаче больше ничего не сказаноsad.gif

blink.gif


как бы это всё на паскалике накатать.... wacko.gif
Цитата(Айра @ 27.12.2006 22:48) *

По-моему, пользователь должен ввести номер столбца (S), который нужно удалить.
1 2
4 5
7 8
s=1 =>
2
5
8

А как такое можно сделать(удалить один столбец) с масивом???? blink.gif

мож есть функция?

(я могу тока нулями заменить, а вот удалить проблема nea.gif )

ПоЖуЛуйСтА помогитессс smile.gif



--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Профи
****

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

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


Цитата(Димас @ 28.12.2006 13:14) *
А как такое можно сделать(удалить один столбец) с масивом???? blink.gif
Никак. Есть два варианта:
1) Статически определяешь такую запись:

const Max_Razm:=20;
type
record
N :integer; {кол-во строк}
M :integer; {кол-во столбцов}
Matr :array[1..Max_Razm,1..Max_Razm] of Integer; {значения матрицы}
end;


2) Создаешь динамический массив (динамическую матрицу), размер которой можно менять в ходе выполнения программы. См. Динамические массивы


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Пионер
**

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

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


мда , динамические матрицы ......


хотелось бы с записям поработать....

но я с ними никада не работал.... и не знаком.... как бы с ними познакомиться?

Общем что "такое записи и с чем их едят"? blink.gif

smile.gif


--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Правила форму читать не пробовал ?

FAQ для кого создается ? А поиск ? Тоже для красоты ?

F_A_Q: Записи. Record.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Пионер
**

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

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


Цитата(klem4 @ 28.12.2006 15:22) *

Правила форму читать не пробовал ?

FAQ для кого создается ? А поиск ? Тоже для красоты ?

F_A_Q: Записи. Record.


Пардон rolleyes.gif

просто с такой скоростю как у меня через GPRS тока и бегать по факам и тратить дорогой и глючный трафик плохого опсоса....

 ! 
А дороговизна и глючность - это НАШИ проблемы? А может, все-таки, ТВОИ? Ты пришел на форум, будь добр следовать его Правилам ... Не можешь - google.com и ищи форум, где правила НЕ выполняются...
volvo



--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Пионер
**

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

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


Цитата(hiv @ 28.12.2006 14:55) *

Никак. Есть два варианта:
1) Статически определяешь такую запись:

const Max_Razm:=20;
type
record
N :integer; {кол-во строк}
M :integer; {кол-во столбцов}
Matr :array[1..Max_Razm,1..Max_Razm] of Integer; {значения матрицы}
end;




такс....

ну написал эту запись, а толку?

что дальше?

blink.gif


--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Профи
****

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

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


Цитата(Димас @ 28.12.2006 15:25) *
что дальше? blink.gif

Твоя матрица будет статическая, т.е. ее размеры в ходе выполнения изменить будет нельзя, НО!
Определяя запись record, ты как бы к ней привязываешь переменные говорящие о ее заполненности по строкам и столбцам.
ЗЫ: А вообще-то это лучше делать объектом и привязывать методы (процедуры и функции) работающие с этой матрицей. Ну например сортировки, добавления и удаления столбцов и строк, и т.д. т.п.


Сообщение отредактировано: hiv -


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Пионер
**

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

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


тренировался на рекорд(записи)
на такой задачке:

Задача 1194

Известы данный о 20 сотруниках фирмы(фамилия, зарплата и пол).
определить:
а)фамилию мужчины,имебщего самую большую зарплату(считать что такой есть и он едниственый)
б)фамилию мужчины и женщины, имеющих самую маленькую зарплату(счиать что такие есть и они единственые в свой групе сотрудников)


Исходный код: blink.gif

program z1194;
uses crt;
{-----------------------------------------------------}
const kol_sotrudnik = 4; { количество сотрудников}
{-----------------------------------------------------}
type
danin_sotrudnik = record
fam : string;
zarpl : integer;
pol : string;
end;
{----------------------------------------------------------------}
var
mass_sotrudnik: Array[1..kol_sotrudnik] of danin_sotrudnik;
i,max_zarpl,min_zarpl,max_i,min_i,max_vse,max_ivse,max_zarplvse:integer;
{----------------------------------------------------------------}
begin
ClrScr;
{---ввод и вывод максимального значения у мужиков---}
max_zarpl:=0;

for i:=1 to kol_sotrudnik do
begin
write('Фамилия N ',i,' ');
readln(mass_sotrudnik[i].fam);

write('Зарплата N ',i,' ');
readln(mass_sotrudnik[i].zarpl);

write('Пол m/j N ',i,' ');
readln(mass_sotrudnik[i].pol);

writeln('--------------------');

if (max_zarpl<mass_sotrudnik[i].zarpl) and (mass_sotrudnik[i].pol='m') then
begin
max_zarpl:=mass_sotrudnik[i].zarpl ;
max_i:=i;
end;

end;
writeln('самая большая зарплата мужцины в ',mass_sotrudnik[max_i].fam);
{---***********-}

max_zarpl:=0;

for i:=1 to kol_sotrudnik do
begin
if (max_zarplvse<mass_sotrudnik[i].zarpl) and (mass_sotrudnik[i].pol='m')
and (mass_sotrudnik[i].pol='j')
then
begin
max_zarplvse:=mass_sotrudnik[i].zarpl ;
max_ivse:=i;
end;

end;

{--*************---}

min_zarpl:=mass_sotrudnik[max_ivse].zarpl;
for i:=1 to kol_sotrudnik do
begin

if (min_zarpl>mass_sotrudnik[i].zarpl) and (mass_sotrudnik[i].pol='m') then
begin
min_zarpl:=mass_sotrudnik[i].zarpl ;
min_i:=i;
end;

end;
writeln('самая минимальная зарплата у мужчин в ',mass_sotrudnik[min_i].fam);

{---------------------------------------}
min_zarpl:=mass_sotrudnik[max_ivse].zarpl;
for i:=1 to kol_sotrudnik do
begin

if (min_zarpl>mass_sotrudnik[i].zarpl) and (mass_sotrudnik[i].pol='j') then
begin
min_zarpl:=mass_sotrudnik[i].zarpl ;
min_i:=i;
end;

end;
writeln('самая минимальная зарплата у женщин в ',mass_sotrudnik[min_i].fam);


writeln;
write('End');
readln;
end.


Проверте пожалуйста всё ли правильно я написал?????? blink.gif blum.gif blink.gif

// const kol_sotrudnik = 4 - узял не 20 как сказано в задаче а 4 шоб меньше вводить wink.gif

офф... спкокойной ночи wub.gif


--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Пионер
**

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

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


Цитата(Димас @ 27.12.2006 21:59) *

ну ладно....
есть ещё одна задачка на двухмерный массив

Задача1066б


Дано двухмерный массив. Удалить из него: б.) S-й столбец

Всё в задаче больше ничего не сказаноsad.gif

Блин ну помогите мне в этой задачке ?

не могу справится blink.gif



--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Пионер
**

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

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


Такс, ещё одна тренировка на записи(рекорд)....

Задача 1248


В таблице хранятся следуйщие данные об учениказ: фамилия,имя,отчество,рост,маса.
Вычеслить средний рост учеников, рост самого высокого и самого низкого ученика. Сколько учеников могут заниматся в баскетбольной секции, если рост баскетболиста должен быть больше 170 см


Я реши тякс:

Program z1248;

uses crt;

const kol_uchniv = 10; {количество учеников}
{------------тип------------}
type
dani_uchniv = record
fam : string;
imya : string;
otchestvo : string;
rost : integer;
masa : integer;
end;
{---------------------------}

var
{------------------массив-----------------------}
mass_u:Array[1..kol_uchniv] of dani_uchniv;
{-----------------------------------------------}
i:integer;
s_rost:real;
ser_rost:real;
max_rost,max_i:integer;
min_rost:integer;
kol_uchniv2:integer;
Begin
ClrScr;
{------------------Таблица учеников--------------}
{1}
mass_u[1].fam:='Белый ';mass_u[1].imya:=' Дима'; mass_u[1].otchestvo:=' Юрьевич '; mass_u[1].rost:=170;
mass_u[1].masa:=60;
{end}

{2}
mass_u[2].fam:='Пупкин ';mass_u[2].imya:=' Андрей'; mass_u[2].otchestvo:='Николаевич'; mass_u[2].rost:=175;
mass_u[2].masa:=70;
{end}

{3}
mass_u[3].fam:='Барбакарь';mass_u[3].imya:='Вика'; mass_u[3].otchestvo:=' Батьковна '; mass_u[3].rost:=155;
mass_u[3].masa:=45;
{end}

{4}
mass_u[4].fam:='Кулик ';mass_u[4].imya:=' Вован'; mass_u[4].otchestvo:=' Батькович '; mass_u[4].rost:=185;
mass_u[4].masa:=80;
{end}
{5}
mass_u[5].fam:='Литвин';mass_u[5].imya:=' Тарас'; mass_u[5].otchestvo:=' Пукинович '; mass_u[5].rost:=170;
mass_u[5].masa:=55;
{end}
{6}
mass_u[6].fam:='Тарасюк';mass_u[6].imya:=' Саня'; mass_u[6].otchestvo:=' Батькович '; mass_u[6].rost:=170;
mass_u[6].masa:=60;
{end}
{7}
mass_u[7].fam:='Дрозач';mass_u[7].imya:=' Толя'; mass_u[7].otchestvo:=' Леонидович'; mass_u[7].rost:=190;
mass_u[7].masa:=70;
{end}
{8}
mass_u[8].fam:='Сидоров';mass_u[8].imya:=' Тарас'; mass_u[8].otchestvo:=' Иванович '; mass_u[8].rost:=150;
mass_u[8].masa:=55;
{end}
{9}
mass_u[9].fam:='Иванов';mass_u[9].imya:=' Саня'; mass_u[9].otchestvo:=' Иванович '; mass_u[9].rost:=200;
mass_u[9].masa:=90;
{end}
{10}
mass_u[10].fam:='Куку';mass_u[10].imya:=' Натали'; mass_u[10].otchestvo:='Ивановна '; mass_u[10].rost:=190;
mass_u[10].masa:=70;
{end}
{-----------------------------------------------}
textcolor(2);
writeln('-----------------------------------------------------------------');
writeln('| N/N | Фамилия | Имя | Отчество | Рост(см) | Маса(кг)|');
writeln('-----------------------------------------------------------------');
{---------------------Цыкл для вывода-------------------}
textcolor(7);

for i:=1 to kol_uchniv do
begin
writeln(' ',i,' ',mass_U[i].fam,' ',mass_U[i].imya,' ',mass_U[i].otchestvo,' ', mass_u[i].rost,
' ',mass_u[i].masa);
end;
{------------------Цыкл для середнього роста--------------------------}
s_rost:=0;

for i:=1 to kol_uchniv do
begin
{----ниже формула сумы ростов----}
s_rost:=s_rost + mass_u[i].rost;
end;
{-----------Средний рост------------}
ser_rost:=s_rost/kol_uchniv;
{-----------------------------------}

{---------------цыкл для вычисления максимального роста учеников---------------------}
max_rost:=0;
max_i:=0;
for i:=1 to kol_uchniv do
begin
if (max_rost<mass_u[i].rost)
then

begin
max_rost:=mass_u[i].rost ;
max_i:=i;
end;

end;
textcolor(7);
{---------------------------------конец цыкла max------------------------------}

{--------------------цыкл для вычисления минимального роста учеников----------}
min_rost:=mass_u[max_i].rost;

for i:=1 to kol_uchniv do
begin
if min_rost>mass_u[i].rost
then
min_rost:=mass_u[i].rost;
{min_i:=i;}
end;
{--------------------------------конец цыкла min-------------------------------}

{------------------------Вычисления баскетболистов---------------------------}

kol_uchniv2:=kol_uchniv;

for i:=1 to kol_uchniv do
begin
if mass_u[i].rost<170
then
kol_uchniv2:=kol_uchniv2-1;

end;
{---------------------конец вычисления баскетболистов---------------------------------------------}

{---------------------------------Вывод итогов--------------------------------------}
textcolor(2);
writeln('--------------------------------------------------------------');
textcolor(4);

writeln(' Cередний Рост Учеников = ', ser_rost:5:1 ,' см');
writeln;
writeln(' Рост самого высокого Ученика = ',mass_u[max_i].rost,' см');
writeln;
writeln(' Рост самого низкого Ученика = ',min_rost);
writeln;
writeln(' Могут Заниматься в Баскетбольной Секции Только ',kol_uchniv2,' чел ',' из ',kol_uchniv,' чел' );
textcolor(2);
writeln('--------------------------------------------------------------');
textcolor(9);
writeln('Made in Ukrane! Produce By STORM!');
textcolor(2);
writeln('Для завершения просмотра нажмите любую клавишу');
readkey;
end.



И теперь думаю немного с записями разрулился smile.gif

теперь мне не составит труда решить задачу 1066б smile.gif

Спасибо всем кто помогал! с Наступающим 2007 новым годом Всех!!!!! no1.gif

офф smile.gif


--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 28.03.2024 22:26
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name