#Непосредственно ввод матрицы
main_list = []
final_end_check = 0
input_row_order = -1
row_end_check = 0
while (final_end_check == 0):
input_row_order += 1
input_list = []
while (row_end_check == 0):
a = input("Введите число в матрицу")
try:
a = int(a)
except ValueError:
if (a == "end"):
if (len(input_list) == len(main_list[input_row_order - 1])):
main_list.append(input_list)
final_end_check = 1
break
else:
input_list.append(a)
if (input_row_order == 0 and a == "next"):
main_list.append(input_list)
print(input_list, "\nВы ввели строку номер", input_row_order + 1, ", её длина равна", len(input_list), ", теперь введите числа в следующую\n")
break
if (input_row_order > 0): #Переход на следующую строку с ввода "next"
if (a == "next" and len(input_list) != len(main_list[input_row_order - 1])):
print("Длина текущей строки не совпадает с длиной предыдущей (", len(main_list[input_row_order - 1]), "),введите строку заново")
input_row_order -= 1
break
if (a == "next" and (len(input_list) == len(main_list[input_row_order - 1]))):
print(input_list, "\nВы ввели", input_row_order + 1, "строку, теперь введите числа в следующую\n")
main_list.append(input_list)
break
#Транспонирование матрицы
print("\nОсновная матрица\n")
for i in range(len(main_list)):
print(main_list[i])
final_list = [[row[i] for row in main_list] for i in range(len(main_list[0]))]
print("\nТранспонированная матрица:\n")
for i in range(len(final_list)):
print(final_list[i])
Объяснение:
3) тут просто
var n, i: integer;
begin
for i := 1 to frac(n/2) do
write("Левая Правая ");
if n mod 2 = 1 then write("Левая");
end.
4) Чтобы скобочная последовательность была правильной, нужно, чтобы сумма любых k первых чисел была неотрицательна и чтобы сумма всех n чисел равнялась нулю.
var current_sum, n, x, flag: int;
begin
readln(n);
flag := 1;
current_sum := 0;
for i := 1 to n do begin
readln(x);
current_sum := current_sum + x;
if (current_sum)<0 then flag := 0;
end;
if current_sum<>0 then flag := 0;
if flag = 1 then writeln("является")
else writeln("не является");
end.
Поделитесь своими знаниями, ответьте на вопрос:
Водномерном массиве найти максимальный элемент заменить на 0 , и вывести массив на экран. на паскале.
a:array[1..10] of integer;
i,b:integer;
Begin
b:=1;
Writeln('Вводите чесла');
for i := 1 to 10 do Begin
read(a[i]);
if i>1 then
if a[i]>a[i-1] then b:=i;
End;
a[b]:=0;
for i:= 1 to 10 do
write(a[i],' ');
End.