найти ошибку в коде, компилятор ругается на 34 строчку , где идёт вычисление "summa" #include #include #include int main() { int** a, p=1, col, i, summa=0, srednee, KolSrednee; setlocale(LC_ALL, "Russian");
printf("\nВведите количество элементов массива' \n"); scanf_s("%d", &col); a = (int**)malloc(col * sizeof(int*)); for (i = 0; i < col; i++) a[i] = (int*)malloc(col * sizeof(int)); printf("\nВведите элементы матрицы:\n"); for (i = 0; i < col; i++)
{ printf("[%d]=", i); scanf_s("%d*", &a[i]); } printf("Исходная матрица\n"); for (i = 0; i < col; i++) { printf("%d\t", a[i]); printf("\n\n"); }
for (i = 0; i < col; i++) { if (a[i]<0) { p = p ** a[i]; } summa = summa +* a[i]; } KolSrednee = 0; srednee = summa / (i - 1); for (i = 0; i < col; i++) { if (srednee <* a[i]) { KolSrednee++; }
} printf("Произведение ненулевых элементов матрицы\n"); printf("%d\n", p); printf("Количество элементов матрицы превышающих среднеарифметическое\n"); printf("%d\n", KolSrednee); }
print('Binary version of {} - {}'.format(n, to_bin(n)))
print('Hex version of {} - {}'.format(n, to_hex(n)))
if __name__ == '__main__':
main()
Объяснение:
P.S Внутри функций перевода в системы счисления такая каша из за того, что изначально Python при переводе возвращает число с неким кодом системы счисления. То есть при переводе, например, числа 56, в двоичной версии он выдаст 0b111000, а в шестнадцатиричную - 0x38, что бы убрать код системы счисления, функции возвращают не просто интерпретацию числа в нужной системе, а строковый срез без первых двух символов.
Const m=200; var a: array[1..m] of integer; i,j,n: integer; begin write('количество элементов массива: '); readln(n); randomize; write('массив: '); for i:=1 to n do begin a[i]:=random(40); write(a[i],' '); end; writeln; write('отсортированный массив: '); for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then swap(a[i],a[j]); for i:=1 to n do write(a[i],' '); end.
def to_bin(n):
return str(bin(n))[2:len(str(bin(n)))]
def to_hex(n):
return str(hex(n))[2:len(str(hex(n)))]
def main():
n = int(input())
print('Binary version of {} - {}'.format(n, to_bin(n)))
print('Hex version of {} - {}'.format(n, to_hex(n)))
if __name__ == '__main__':
main()
Объяснение:
P.S Внутри функций перевода в системы счисления такая каша из за того, что изначально Python при переводе возвращает число с неким кодом системы счисления. То есть при переводе, например, числа 56, в двоичной версии он выдаст 0b111000, а в шестнадцатиричную - 0x38, что бы убрать код системы счисления, функции возвращают не просто интерпретацию числа в нужной системе, а строковый срез без первых двух символов.
var a: array[1..m] of integer;
i,j,n: integer;
begin
write('количество элементов массива: ');
readln(n);
randomize;
write('массив: ');
for i:=1 to n do
begin
a[i]:=random(40);
write(a[i],' ');
end;
writeln;
write('отсортированный массив: ');
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then swap(a[i],a[j]);
for i:=1 to n do write(a[i],' ');
end.
количество элементов массива: 10
массив: 32 2 10 22 2 13 25 6 15 6
отсортированный массив: 2 2 6 6 10 13 15 22 25 32