Другие языки программирования и технологии
Функции и массивы в Pascal
нужна функция вывода массива на экран. т. е. у меня есть массив я с ним провожу различные операции и в 15 циклах я должен писать код для его вывода, но это не очень удобно! решил сделать функцию, да вот не выходит ( если можно дайте кусочек кода
Интересное кино - в качестве аргумента функции ты передаешь ДИНАМИЧЕСКИЙ массив, размер которого тебе заранее не известен.. . У меня подобное просто не скомпилилось, а при отключении контроля ошибок прога просто зависла.. . Это первое. Второе - а зачем аргумент var? Ты ж его не меняешь?
...
procedure MasVivod (Mas : array of byte);
var
MasLen : Integer;
counter: Integer;
begin
MasLen := High(Mas);
for counter := 0 to MasLen
do WriteLn(Mas);
end
....
...
procedure MasVivod (Mas : array of byte);
var
MasLen : Integer;
counter: Integer;
begin
MasLen := High(Mas);
for counter := 0 to MasLen
do WriteLn(Mas);
end
....
var i:integer;
Главы 39 и 40 здесь почитайте:
Песни о Паскале - программирование для школьников и начинающих.
Объявите тип для массива, и применяйте его везде.
Песни о Паскале - программирование для школьников и начинающих.
Объявите тип для массива, и применяйте его везде.
procedure arr_out (mas : array([1..10] of byte);
var i : byte;
begin
for i:= 1 to 10 do
write (mas[ i ] : 4);
end;
попробуй так, мне кажется это удобнее реализовать с помошью процедуры.
и если какие ошибки в синтаксисе, извиняй, я давно на паскале не писал)
ЗЫ: Андрей Коптевич,
//write (mas:4); - это я вообще не пойму откуда взялось
//write (mas:4); - к типу byte :4 вообще не применимо
причем тут тип byte, эдесь попытка реализовать форматированный вывод, просто не совсем правильная
write (mas[ i ] : 4);
имеется в виду что поб вывод каждого элемента массива будет выделено 4 ячейки (или хз как их еще назвать) на экране)
var i : byte;
begin
for i:= 1 to 10 do
write (mas[ i ] : 4);
end;
попробуй так, мне кажется это удобнее реализовать с помошью процедуры.
и если какие ошибки в синтаксисе, извиняй, я давно на паскале не писал)
ЗЫ: Андрей Коптевич,
//write (mas:4); - это я вообще не пойму откуда взялось
//write (mas:4); - к типу byte :4 вообще не применимо
причем тут тип byte, эдесь попытка реализовать форматированный вывод, просто не совсем правильная
write (mas[ i ] : 4);
имеется в виду что поб вывод каждого элемента массива будет выделено 4 ячейки (или хз как их еще назвать) на экране)
Используй процедуру.
Название процедуры Print_Massiv. В том месте где надо вывести массив пишешь Print_Massiv. Сама Print_Massiv содержит следующее:
procedure Print_Massiv;
var i : Integer;
begin
for i:=1 to N do write(A,' '); // N-количество элементом массива, A - название массива
end;
Вот и всё.
Да, твой код, это нечто.
a:=random(255); - ты задаёшь рандом, нужно a;
write (mas:4); - это я вообще не пойму откуда взялось
write (mas:4); - к типу byte :4 вообще не применимо
Название процедуры Print_Massiv. В том месте где надо вывести массив пишешь Print_Massiv. Сама Print_Massiv содержит следующее:
procedure Print_Massiv;
var i : Integer;
begin
for i:=1 to N do write(A,' '); // N-количество элементом массива, A - название массива
end;
Вот и всё.
Да, твой код, это нечто.
a:=random(255); - ты задаёшь рандом, нужно a;
write (mas:4); - это я вообще не пойму откуда взялось
write (mas:4); - к типу byte :4 вообще не применимо
Похожие вопросы
- Помогите сделать функцию для массива.
- Помогите сделать задания по програмированию(двумерные массивы)Turbo Pascal
- Вопрос по двумерному массиву в Pascal?
- помогите пожалуста с одномерным массивом в Pascal
- Как найти моду в массиве на PASCAL?
- С++.Дан одномерный числовой массив. Написать функции.
- Задача по C++ Не могу придумать как одновременно записывать в массив и считать функцию.
- Pascal одномерные массивы.
- Нужно подправить программу в Pascal на одномерные массивы.
- Привет, помогите с программированием на СИ, передача массива в функцию..