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

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

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

> массивы, одномерные и двумерные
KiberPunk
сообщение 1.12.2008 21:03
Сообщение #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 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 13)
renesko1
сообщение 1.12.2008 21:14
Сообщение #2


поиск
****

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

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


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


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





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

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


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


поиск
****

Группа: Пользователи
Сообщений: 346
Пол: Мужской
Реальное имя: 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 
 К началу страницы 
+ Ответить 
KiberPunk
сообщение 1.12.2008 22:27
Сообщение #5





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

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


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


Гость






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





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

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


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

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


поиск
****

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

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


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


--------------------
typedef void Śūnyatā ;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
KiberPunk
сообщение 2.12.2008 16:49
Сообщение #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 - 2.12.2008 17:29
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 2.12.2008 18:31
Сообщение #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 
 К началу страницы 
+ Ответить 
KiberPunk
сообщение 2.12.2008 18:39
Сообщение #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 
 К началу страницы 
+ Ответить 
renesko1
сообщение 2.12.2008 20:48
Сообщение #12


поиск
****

Группа: Пользователи
Сообщений: 346
Пол: Мужской
Реальное имя: 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 
 К началу страницы 
+ Ответить 
KiberPunk
сообщение 2.12.2008 23:35
Сообщение #13





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

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


а ты мог бы приблизительно набросать задачу 3?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 3.12.2008 1:26
Сообщение #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

 



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