найти ошибку в коде, компилятор ругается на 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); }
Первое задание, программа задает массив, сортирует его, затем сравнивает элемент с последующем
uses crt; var a:array[1..100] of integer; i,j:integer; procedure swap(var x,y: integer); var t: integer; begin t := x; x := y; y := t end; begin for i:=1 to 100 do a[i]:=random(100); for j:=1 to 99 do for i:=1 to 100-j do if a[i] > a[i+1] then swap(a[i],a[i+1]); for i:=1 to 99 do if a[i]=a[i+1] then begin writeln(a[i]); writeln(a[i+1]); end; end.
Второе задание. Программа также сортирует и сравнивает элементы
uses crt; var a:array[1..100] of integer; i,j:integer; procedure swap(var x,y: integer); var t: integer; begin t := x; x := y; y := t end; begin for i:=1 to 100 do a[i]:=random(100); for j:=1 to 99 do for i:=1 to 100-j do if a[i] > a[i+1] then swap(a[i],a[i+1]); for i:=1 to 99 do if a[i]<>a[i+1] then begin writeln(a[i]); end; end.