Здравствуйте!
Задача у меня такая в цикле присвоить переменным p1, p2, p3, p4, p5, p6, p7, p8, p9 значение 0 или знак '-'
Хочу сделать это в цикле, чтобы минимизировать код,
Пробовал так:
for i:= 1 to 9 do
begin
p+'i':= 0; <--- ругается здесь
end;
Но комп ругается
Скажите как это можно осуществить?
Другие языки программирования и технологии
Delphi, цикл
Если объявить переменные как ссылки на массив:
var
Pn : array [1..9] of Integer;
P1 : Integer absolute Pn[1];
P2 : Integer absolute Pn[2];
P3 : Integer absolute Pn[3];
P4 : Integer absolute Pn[4];
P5 : Integer absolute Pn[5];
P6 : Integer absolute Pn[6];
P7 : Integer absolute Pn[7];
P8 : Integer absolute Pn[8];
P9 : Integer absolute Pn[9];
i : Byte;
…
Тогда можно будет обращаться как к массиву, так и к переменным:
for i := 1 to 9 do Pn[ i ] := 0; // Все переменные станут нулевыми
P5 := 123; // Значение массива Pn[5] станет равным 123
var
Pn : array [1..9] of Integer;
P1 : Integer absolute Pn[1];
P2 : Integer absolute Pn[2];
P3 : Integer absolute Pn[3];
P4 : Integer absolute Pn[4];
P5 : Integer absolute Pn[5];
P6 : Integer absolute Pn[6];
P7 : Integer absolute Pn[7];
P8 : Integer absolute Pn[8];
P9 : Integer absolute Pn[9];
i : Byte;
…
Тогда можно будет обращаться как к массиву, так и к переменным:
for i := 1 to 9 do Pn[ i ] := 0; // Все переменные станут нулевыми
P5 := 123; // Значение массива Pn[5] станет равным 123
> Но комп ругается
Правильно ругается
> Скажите как это можно осуществить?
Использовать массив. Только вот для его обнуления совсем не обязательно крутить цикл. Достаточно обращения к процедуре
FillChar(A, SizeOf(A), 0);
здесь А - некоторый статический массив.
> А если мне нужно присвоить знак '-' тоесть сделать массив string?
А кто запрещает объявить массив строк и проинициализировать его хоть минусом, хоть какой угодно строкой или строками?
Правильно ругается
> Скажите как это можно осуществить?
Использовать массив. Только вот для его обнуления совсем не обязательно крутить цикл. Достаточно обращения к процедуре
FillChar(A, SizeOf(A), 0);
здесь А - некоторый статический массив.
> А если мне нужно присвоить знак '-' тоесть сделать массив string?
А кто запрещает объявить массив строк и проинициализировать его хоть минусом, хоть какой угодно строкой или строками?
Так нельзя сделать, используй массив.
var mass:array[1..9] of integer;
i:integer;
begin
for i:=1 to 9 do
mass[ i ]:=0;
end.
Как то так в общем виде, за синтаксис не ручаюсь, давно на паскале не писала.
var mass:array[1..9] of integer;
i:integer;
begin
for i:=1 to 9 do
mass[ i ]:=0;
end.
Как то так в общем виде, за синтаксис не ручаюсь, давно на паскале не писала.
кавычки не нужны вокруг i - это точно :)
p[ i ]:=0 в массиве
var
p: array [1...9] of integer
и обращаться к нему так p[ i ]
БЛИН! ВОТ ЕДИНСТВЕННЫЙ ПРАВИЛЬНЫЙ ОТВЕТ:
var
p: array [1...9] of integer;
begin
for i:= 1 to 9 do
begin
p[ i ]:= 0;
end;
end;
Пробелы вот тут [ i ] убрать
p: array [1...9] of integer
и обращаться к нему так p[ i ]
БЛИН! ВОТ ЕДИНСТВЕННЫЙ ПРАВИЛЬНЫЙ ОТВЕТ:
var
p: array [1...9] of integer;
begin
for i:= 1 to 9 do
begin
p[ i ]:= 0;
end;
end;
Пробелы вот тут [ i ] убрать
Похожие вопросы
- Delphi!? Repeat Unitl... бесконечный цикл (вся прога зависает)?
- Рекурсия поиск на Delphi в цикле WHILE - исправьте код ?
- Согласны с этим - Глубинные причины ненависти к Delphi/Pascal ?
- Delphi:Прочитал, что если при динамическом создании компонента если указать Name объекта, то в последующем можно ->
- Delphi. Зависает при выполнении цикла
- Как в Delphi сделать справку?
- Помогите найти ошибку Delphi легкая программка
- Delphi ПОМОГИТЕ ПОЖАЛУЙСТА!
- Задача на Delphi. Аааа решите пожалуйста :'(
- Про Delphi