Другие языки программирования и технологии
Помогите пожалуйста по паскалю.
Мне нужно число (например 4654, при чем число задаю сам), поместит в массив (a[1]=4 a[2]=6 a[3]=5 a[4]=4)
program ads;
var a:word;
str:string;
i:byte;
er:integer;
ar:array[1..10] of byte;
begin
writeln('enter a num');
readln(a);
str(a,str);
for i:=1 to length(str) do
val(copy(str,i,1),ar\[i\]>,er);
end.
var a:word;
str:string;
i:byte;
er:integer;
ar:array[1..10] of byte;
begin
writeln('enter a num');
readln(a);
str(a,str);
for i:=1 to length(str) do
val(copy(str,i,1),ar\[i\]>,er);
end.
Сергей Гусев
ошибка, требует присвоения":=" после str
Андрей Шерстобитов
ты прав. исправил.там еще маил не хочет писать ar\[i\] слеши не нужны
либо работаешь как со строкой - соотвественно со строкой можно затем работать как с массивом... .
for i:= length(s) downto 1 do begin a[g]:=ord(s)-48;g:=g+1;end;
Либо остаток от деления помещаешь - тебе помогут mod а затем div
Если еще есть вопросы по Паскалю - стучите в асю 395359808
for i:= length(s) downto 1 do begin a[g]:=ord(s)-48;g:=g+1;end;
Либо остаток от деления помещаешь - тебе помогут mod а затем div
Если еще есть вопросы по Паскалю - стучите в асю 395359808
если работаешь именно с числом -то вот примерно так:
program a;
Uses Crt;
var
x,i,m,j: integer;
a: array [1..100] of integer;
b: array [1..100] of integer;
begin
writeln('Vvedite 4islo');
readln(x);
i:=0;
while (x<>0) do begin
inc(i);
a[ i ]:=x mod 10; {остаток деления на 10, т. е. последняя цифра числа}
x:=x div 10; { целое от деления на 10, т. е. "отбрасываем" последнюю цифру ( мы её уже записали в массив на строчку выше}
end;
{ Мы теперь разбили число по разрядам и записали в массив, только в обратном порядке, т. е сейчас a[1]=4 a[2]=5 a[3]=6 a[4]=4 Чтобы сделать так, как сказано в условии, можно, например, переписать в правильном порядке в другой массив}
m:=i;
j:=1;
while (i<>0) do begin
b[j]:=a[ i ];
dec(i);
inc(j);
end;
{вывод массива на экран}
for i:=1 to m do
write(b[ i ],' ');
readln;
end.
а если со строкой - там проще, выше уже написали
program a;
Uses Crt;
var
x,i,m,j: integer;
a: array [1..100] of integer;
b: array [1..100] of integer;
begin
writeln('Vvedite 4islo');
readln(x);
i:=0;
while (x<>0) do begin
inc(i);
a[ i ]:=x mod 10; {остаток деления на 10, т. е. последняя цифра числа}
x:=x div 10; { целое от деления на 10, т. е. "отбрасываем" последнюю цифру ( мы её уже записали в массив на строчку выше}
end;
{ Мы теперь разбили число по разрядам и записали в массив, только в обратном порядке, т. е сейчас a[1]=4 a[2]=5 a[3]=6 a[4]=4 Чтобы сделать так, как сказано в условии, можно, например, переписать в правильном порядке в другой массив}
m:=i;
j:=1;
while (i<>0) do begin
b[j]:=a[ i ];
dec(i);
inc(j);
end;
{вывод массива на экран}
for i:=1 to m do
write(b[ i ],' ');
readln;
end.
а если со строкой - там проще, выше уже написали
Похожие вопросы
- Помогите пожалуйста с паскалем...я его только осваиваю(
- Помогите пожалуйста с паскалем!!!
- Помогите пожалуйста с паскалем!
- Помогите пожалуйста с паскалем)))
- Дан двумерный массив C(m,n). Найти произведение элементов, больших среднего значения. Помогите пожалуйста!!! На паскале
- Помогите пожалуйста на Паскале
- Помогите пожалуйста на Паскале или С#
- Помогите, пожалуйста. Программирование паскаль, однонаправленные списки.
- Ребят помогите пожалуйста. Паскаль, Paskal
- Помогите пожалуйста с Заданием по Паскалю!