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

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

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

 
 Ответить  Открыть новую тему 
> массивы, одномерные и двумерные
сообщение
Сообщение #1





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

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


люди помогите пожалста. я в паскале дуб. первый раз его увидел на первой паре по программированию и препоша ничего не обьсняя сказала пишите прогу
но проблема вот в чем : 10 декабря надо здать 4 проги если нездам то выхожу на сессию и ппц я её заваливаю и мя выгоняют с первого курса помогите плиз

1)дан одномерный массив размера N вывести его элементы в обратном порядке
2)дан целочисленный одномерный массив размера N вывести вначале все его четные1|нечетные2 элементы а затем нечетные1|четные2
3)дана матрица размера 5х9 Найти суммы элементов всех её четных1|нечетных2 строк1|столбцов2
4)дана матрица размером MxN поменять местами её строки1|столбци2 так чтобы их минимальные3|максимальные4 элементы образовывали возрастающюю5|убывающюю последовательность
заранее благодарю
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


поиск
****

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

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


Массивы. Матрицы. Типичные задачи.
Куча, примеров, лёгко и просто, если что нить именно не понятно, то спрашивай smile.gif


--------------------
typedef void Śūnyatā ;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


подскажи для чего в данный код введена процедура?
Цитата
Procedure ReadMatr(var A:Matrix; var n,m:word );
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


поиск
****

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

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



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'ах выше)


--------------------
typedef void Śūnyatā ;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


тоесть я в константах написал количество строк и столбцов но в теле программы мне всеравно надобудет писать их количество?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата
тоесть я в константах написал количество строк и столбцов
В константах ты задал максимально возможные размеры матрицы, а в тексте программы будешь вводить размер, с которым пользователь будет работать. Если ты изначально знаешь точный размер, то работай только с константами...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





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

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


а как использовать процедуру?

Сообщение отредактировано: KiberPunk -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


поиск
****

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

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


Замечание Volvo очень важное, во-сновном в условиях задач сказанны размеры матрицы.
Для выполнения твоих заданий, лучше обойтись без этой процедуры. Так как размеры заранее известны.


--------------------
typedef void Śūnyatā ;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9





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

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


да я бы с радостью не писал процедуры но это обязательное условие
кста я разобрался
у меня новый вопрос : во второй задаче мне нужно вывести все нечетные/четные а у меня получается что я вывожу только последнее чотное и последнее нечотное
вот код проги

 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.


М
Теги!!



Сообщение отредактировано: Lapp -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

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


for i:=1 to N do
begin
Chotnoe(a[i],ch);
Nechotnoe(a[i],nch);
writeln('chotnoe', ch,'nechotnoe', nch);
end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11





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

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


Цитата(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;



благодарю
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


поиск
****

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

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


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 ;




--------------------
typedef void Śūnyatā ;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13





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

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


а ты мог бы приблизительно набросать задачу 3?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(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];


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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