Помощь - Поиск - Пользователи - Календарь
Полная версия: массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
KiberPunk
люди помогите пожалста. я в паскале дуб. первый раз его увидел на первой паре по программированию и препоша ничего не обьсняя сказала пишите прогу
но проблема вот в чем : 10 декабря надо здать 4 проги если нездам то выхожу на сессию и ппц я её заваливаю и мя выгоняют с первого курса помогите плиз

1)дан одномерный массив размера N вывести его элементы в обратном порядке
2)дан целочисленный одномерный массив размера N вывести вначале все его четные1|нечетные2 элементы а затем нечетные1|четные2
3)дана матрица размера 5х9 Найти суммы элементов всех её четных1|нечетных2 строк1|столбцов2
4)дана матрица размером MxN поменять местами её строки1|столбци2 так чтобы их минимальные3|максимальные4 элементы образовывали возрастающюю5|убывающюю последовательность
заранее благодарю
renesko1
Массивы. Матрицы. Типичные задачи.
Куча, примеров, лёгко и просто, если что нить именно не понятно, то спрашивай smile.gif
KiberPunk
подскажи для чего в данный код введена процедура?
Цитата
Procedure ReadMatr(var A:Matrix; var n,m:word );
renesko1

Procedure ReadMatr(var A:Matrix; var n,m:word );
var
i,j:word;
begin
repeat
write('Введите количество строк: '); readln(N);
until (N>0) and (N<=NN);
repeat
write('Введите количество столбцов: '); readln(m)
until (M>0) and (M<=MM);
For i:=1 to n do
begin
For j:=1 to m do
begin
write('A[',i,j,']= ');
readln(A[i,j])
end
end
end;




Эта процедура служит для "создания" матрицы, ты вводишь кол-во столб. и строк матрицы, и заполняешь её.
(но сама матрица описана в type'ах выше)
KiberPunk
тоесть я в константах написал количество строк и столбцов но в теле программы мне всеравно надобудет писать их количество?
volvo
Цитата
тоесть я в константах написал количество строк и столбцов
В константах ты задал максимально возможные размеры матрицы, а в тексте программы будешь вводить размер, с которым пользователь будет работать. Если ты изначально знаешь точный размер, то работай только с константами...
KiberPunk
а как использовать процедуру?
renesko1
Замечание Volvo очень важное, во-сновном в условиях задач сказанны размеры матрицы.
Для выполнения твоих заданий, лучше обойтись без этой процедуры. Так как размеры заранее известны.
KiberPunk
да я бы с радостью не писал процедуры но это обязательное условие
кста я разобрался
у меня новый вопрос : во второй задаче мне нужно вывести все нечетные/четные а у меня получается что я вывожу только последнее чотное и последнее нечотное
вот код проги

 PROGRAM zadacha2;
uses crt;
const N=10;
type myarray = array[1..N] of Integer;
var a : myarray;
i,ch,nch : Integer;
Procedure Chotnoe(a:integer;var ch:integer);
begin
if (a mod 2 =0) then ch:=a ;
end;
Procedure Nechotnoe(a:integer; var nch:integer);
begin
if (a mod 2<>0) then nch:=a;
end;
begin
clrscr;
randomize;
for i:=1 to N do
a[i] := Trunc(random(100));

for i:=1 to N do
write(a[i], ' ');
writeln; writeln;

for i:=1 to N do
Chotnoe(a[i],ch);
Nechotnoe(a[i],nch);
writeln('chotnoe', ch,'nechotnoe', nch);

readln;
end.


М
Теги!!

Ozzя
for i:=1 to N do
begin
Chotnoe(a[i],ch);
Nechotnoe(a[i],nch);
writeln('chotnoe', ch,'nechotnoe', nch);
end;
KiberPunk
Цитата(Ozzя @ 2.12.2008 20:31) *

for i:=1 to N do
begin
Chotnoe(a[i],ch);
Nechotnoe(a[i],nch);
writeln('chotnoe', ch,'nechotnoe', nch);
end;



благодарю
renesko1
2) надо сделать так: если ты хочешь с процедурами...

procedure chet (const a : integer) ;
begin
if (a mod 2 = 0) then write('chet : ',a,' ');
end ;

....

///с нечёт аналогично

....

for i := 1 to n do
begin
chet(a[i]);
nechet(a[i]);
writeln ;
end ;


KiberPunk
а ты мог бы приблизительно набросать задачу 3?
Lapp
Цитата(KiberPunk @ 2.12.2008 23:35) *
а ты мог бы приблизительно набросать задачу 3?
Ты записался добровольцем??
М
Личные вопросы - в личной переписке




Вот тебе сумма четных строк матрицы 5 строк х 9 столбцов.

s:=0;
for j:=1 to 5 do if not Odd(j) then for i:=1 to 9 do s:=s+a[j,i];
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.