можете малинькие программки написать чтобы понять массивы?
а вот и массив
type masyvas = array [1..5] of integer;
var mas: masyvas;
i, k: integer;
a) for i := 1 to 5 do
mas[i] := i;
b) k := 15;
for i := 1 to 5 do
mas[i] := k + i;
c) for i := 5 downto 1 do
mas[i] := i;
d) k := 1;
for i := 10 to 14 do
begin
mas[k] := i;
k := k + 1
end;
вот сам написал ради проверки
c)
type masyvas = array [1..5] of integer;
var mas: masyvas;
i, k: integer;
begin
for i := 5 downto 1 do
begin
mas[i] := i;
writeln(mas[i]);
end;
readln
end.
type masyvas = array [1..5] of integer;
var mas: masyvas;
i, k: integer;
begin
k := 1;
for i := 10 to 14 do
begin
mas[k] := i;
k := k + 1 ;
writeln(k);
end;
readln
end.
for i := 5 downto 1 do, и ты поймешь о чем я...
begin
mas[i] := i;
writeln('mas[', i, '] = ', mas[i]);
end;
c)4
d)14
во сечас правильно а в проге ошибку выдает пачему
type masyvas = array [1..5] of integer;
var mas: masyvas;
i, k: integer;
begin
k := 1;
for i := 10 to 14 do
begin
mas[k] := i;
k := k + 1 ;
writeln('mas[', i, '] = ', mas[k]);
end;
readln
end.
type masyvas = array [1..5] of integer;
var mas: masyvas;
i, k: integer;
begin
k := 1;
for i := 10 to 14 do
begin
mas[k] := i;
writeln('mas[', k, '] = ', mas[k]);
k := k + 1 ;
end;
readln
end.
вот другая задача
const a = ...;
b = ...;
type mas = array[a..b] of integer;
procedure MinMax (m: mas;
var min, max: integer);
var k, t: integer;
begin
min := m[a]; max := m[a + 1];
for k := a + 2 to b do
begin
t := m[k];
if t < min then min := t;
if t > max then max := t
end;
end;
m=(6,5,4,3,2,1) так попробуй
min := m[a]; max := m[a + 1];вот здесь ошибка, лучше max и min присвоить m[a] а потом с a+1 до b искать max и min
for k := a + 2 to b do
скока элементов имеет каждый массив
var t: array[1..30] of real;
seka: array[0..200] of real;
s : array[-1..0] of integer;
ss : array[-1..5] of integer;
log : array[-2..2] of boolean;
sek : array[-100..100] of real.
ss имеет 7 элементов
написаны 3 функции массива наименьшего найти
a) function A (m: array[k..n: integer] of real): integer;
var maž: real; { Mažiausias elementas }
nr, { ir jo numeris }
i: integer;
begin
maž := m[k]; nr := k;
for i := k + 1 to n do
if maž > m[i]
then begin
maž := m[i];
nr := i
end;
A := nr
end;
b) function B (m: array[k..n: integer] of real): integer;
var maž: real; { Mažiausias elementas }
nr, { ir jo numeris }
i: integer;
begin
maž := m[n]; nr := n;
for i := n - 1 downto k do
if maž > m[i]
then begin
maž := m[i];
nr := i
end;
B := nr
end;
c) function C (m: array[k..n: integer] of real): integer;
var maž: real; { Mažiausias elementas }
nr, { ir jo numeris }
i: integer;
begin
maž := m[k]; nr := k;
for i := k + 1 to n do
if maž >= m[i]
then begin
maž := m[i];
nr := i
end;
C := nr
end;
Они НЕ эквивалентные, потому как одна из этих функций находит индекс первого вхождения минимального элемента, а еще 2 - индекс последнего вхождения. А это значит, что на одних и тех же входных данных ты получишь разные результаты, так о какой эквивалентности ты говоришь?
Если я не ошибаюсь, эти функции возращают номер элемента в котором находится
наибольшее значение.
В A идет проход от первого элемента к последнему, в B идет проход от последнего элемента к первому,
результат один.(если в массиве 1 max элемент)
Но если массив ,к примеру, (1, 2, 4, 1.3, 4) то в A ответ: 3 , а в В ответ: 1.
Это связано с тем что знак строго больше.
А С аналогичен A только условие >= , а не > поэтому в ответ запишится номер последнего max элемента.
ps
я сам новичок поэтому могут быть ошибки
имеем
type diena = (vakar, šiandien, rytoj);
vektorius = array [1..30] of real;
var a: vektorius;
b: array [-2..2] of (x, y, z);
c: array ['0'..'9'] of vektorius;
d: array [diena] of 0..23;
a) A: 30; B: 5; C: 10; D: 3;
b) A: real; B:(x, y, z); C: array of real; D: 0 .. 23;
c) A[1] и A[30]; B[-2] и B[2]; C['0'] и C['9']; D[vakar] и D[rytoj]
Ты бы про систему типов что-нибудь почитал что-ли? А то вопросы - из тех, которые рассматриваются на первых страницах книг по Паскалю обычно...
P.S. Насколько же в Ada проще работа с массивами...
а ты мог бы за неделю пройти все про массивы и запись в файл самостоятельно с нуля все и ище в школи учится? может посоветуешь книгу скачать чтобы все изучать?
вот исчо пару задачь
const n =...;
type masyvas = array[1..n] of integer;
procedure Tvarka(m: masyvas);
var c: integer; { Masyvo elementas }
i, k: 1..n; { Masyvo indeksai }
begin
for k := 1 to n – 1 do
for j := 1 to n – k do
if m[j] > m[j + 1] then
begin {Du elementai keičiami vietomis}
c := m[j + 1];
m[j + 1] := m[j];
m[j] := c
end;
end;
я сам начал изучать pascal c 0 + школьная программа
не знаю где скачать но есть хорошая книжка
учебник для вузов
т.а.павловская
паскаль
программирование на языке выс. уровня
издательство "питер"
ps
там с начала до " обьекты в динам. памяти
jasna
задачу решите пожалста .
сделаите програмку
если выстрелить N раз. если попадет премия 2 дополнительных патрона. в фаиле tiras.txt в первай строчке написана число N. В других N строчках вписан ноль (0) если непопал, а если попал (1). если выстрел был удачный в этойже строчке о дополнителных точности выстрела.
пример
5 семь выстрлов удачных
0
1 0 0
1 1 0 0 0
0
1 0 1 1 1 0 0 0 0
напишите программу каторая в фаил taikyk.txt написала скока выстрелов удачных.
в программе нельзя применять eoln и eof функций вместо их пишите циклы.
следущая задача
радился у отца сын и он решил откладывать деньги на свадьбу сына. первичные данные считываются с файла Pinigai.txt. В первой строчке напишите на угад когда сын женится натуральное число. скоко он будет лет собирать.
каждый год откладывает деньги.
пример
18
100
100
100
150
200
68
300
100
300
500
20
30
38
80
90
30
100
1000
вот ответ 3306
напишите программу скока денег собрал в фаил Ves.txt.
вот сделал сам
правильна
program vestuves;
var n,
a,b, i: integer;
pradDuom,
rezult: text;
begin
assign (pradDuom, 'Pinigai.TXT');
assign (rezult, 'Vest.TXT');
reset (pradDuom);
rewrite (rezult);
read (pradDuom, n);
for i := 1 to n do
begin
read (pradDuom, a);
b := b + a;
end;
write (rezult, b);
close (pradDuom);
close (rezult)
end.
! | maksimla, одна тема - одна задача, понимаешь? |
а понял но зачем так делать если тут легкие задачи и их можна быстро решить и эти задания в одной мне прислали чего так нельзя
чтобы не превращать форум в свалку.