Int num = 0; Console.WriteLine("Введите элементы массива через пробел:"); String[] array = Console.ReadLine().Replace(" "," ").Split(); Int32[] numbers = new Int32[array.Length]; Console.Write("Массив: ["); for (int i = 0; i < numbers.Length; i++) { Console.Write(array[i]); if(i!=numbers.Length-1) Console.Write(", "); numbers[i] = Int32.Parse(array[i]); if (num == 0) num = numbers[i]; } Console.Write("]\n"); if (num > 0) Console.WriteLine("Максимальное число в квадрате: {0}",Math.Pow(numbers.Max(), 2)); else Console.WriteLine("Минимальное число в квадрате: {0}",Math.Pow(numbers.Min(), 2)); Console.WriteLine("\nНажмите любую клавишу чтобы выйти..."); Console.ReadKey();
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018 Внимание! Если программа не работает, обновите версию!
procedure FillStack(st:Stack<integer>; sq:sequence of integer); begin foreach var t in sq do st.Push(t); end;
procedure PrintStack(st:Stack<integer>; s:string); begin Write(s); st.Println end;
procedure ToStack(sta,stb:Stack<integer>; Even:boolean); begin if Even then while sta.Count>0 do begin var v:=sta.Pop; if v.IsEven then begin stb.Push(v); exit end end else while sta.Count>0 do begin var v:=sta.Pop; if v.IsOdd then begin stb.Push(v); exit end end end;
begin var st1:=new Stack<integer>; FillStack(st1,Seq(2,13,20,18,1)); PrintStack(st1,'Стек1: '); var st2:=new Stack<integer>; FillStack(st2,Seq(9,11,10,8,4)); PrintStack(st2,'Стек2: '); var st3:=new Stack<integer>; while st1.Count+st2.Count>0 do begin ToStack(st1,st3,True); ToStack(st2,st3,False); end; PrintStack(st3,'Стек3: ') end.
Console.WriteLine("Введите элементы массива через пробел:");
String[] array = Console.ReadLine().Replace(" "," ").Split();
Int32[] numbers = new Int32[array.Length];
Console.Write("Массив: [");
for (int i = 0; i < numbers.Length; i++)
{
Console.Write(array[i]);
if(i!=numbers.Length-1)
Console.Write(", ");
numbers[i] = Int32.Parse(array[i]);
if (num == 0)
num = numbers[i];
}
Console.Write("]\n");
if (num > 0)
Console.WriteLine("Максимальное число в квадрате: {0}",Math.Pow(numbers.Max(), 2));
else
Console.WriteLine("Минимальное число в квадрате: {0}",Math.Pow(numbers.Min(), 2));
Console.WriteLine("\nНажмите любую клавишу чтобы выйти..."); Console.ReadKey();
Внимание! Если программа не работает, обновите версию!
procedure FillStack(st:Stack<integer>; sq:sequence of integer);
begin
foreach var t in sq do st.Push(t);
end;
procedure PrintStack(st:Stack<integer>; s:string);
begin
Write(s); st.Println
end;
procedure ToStack(sta,stb:Stack<integer>; Even:boolean);
begin
if Even then
while sta.Count>0 do begin
var v:=sta.Pop;
if v.IsEven then begin
stb.Push(v);
exit
end
end
else
while sta.Count>0 do begin
var v:=sta.Pop;
if v.IsOdd then begin
stb.Push(v);
exit
end
end
end;
begin
var st1:=new Stack<integer>;
FillStack(st1,Seq(2,13,20,18,1));
PrintStack(st1,'Стек1: ');
var st2:=new Stack<integer>;
FillStack(st2,Seq(9,11,10,8,4));
PrintStack(st2,'Стек2: ');
var st3:=new Stack<integer>;
while st1.Count+st2.Count>0 do begin
ToStack(st1,st3,True);
ToStack(st2,st3,False);
end;
PrintStack(st3,'Стек3: ')
end.
Результат
Стек1: 1 18 20 13 2
Стек2: 4 8 10 11 9
Стек3: 2 9 20 11 18