Умножение элементов произвольного столбца на заданное число - C (СИ)
Формулировка задачи:
если что, вот такое задание
P7. Ввести двумерный массив размерностью 5х6. Рассчитать в одной функции сумму и произведение значений элементов произвольной строки двухмерного массива. Написать функцию умножения элементов произвольного столбца на заданное число. Ввод массива и исходных данных выполнить в функции ввода, вывод массива и результатов – в функции вывода.
у меня выводит ошибки:
36: Declaration is not allowed here
37: Declaration syntax error
58: Declaration missing ;
58: Compound statement missing }
помогите пожалуйста, чем сможете, целый день бьюсь с ней
#include <stdio.h> #include <math.h> void vvod (float A[5][6], int n, int k, int *a, int *x, float *z); void sumproiz (float A[5][6], int n, int k, int *a, float *sum, float *p); void proizvedenie (float A[5][6], int n, int k, int *x, float *z, float *proz); void vyvod (float A[5][6], int n, int k, float sum, float p); void vuvod (float A[5][6], int n, int k, float proz); void vvod (float A[5][6], int n, int k, int *a, int *x, float *z) { int i,j; printf ("\nVvedite elementy massiva"); for (i=0;i<n;i++) for (j=0;j<k;j++) scanf ("%3f", &A[i][j]); printf ("\nVvedite nomer ctpoku"); scanf ("%d", *a); printf ("\nVvedite nomer ctolbca"); scanf ("%d", *x); printf ("\nVvedite mnogitel"); scanf ("%d", *z); } void sumproiz (float A[5][6], int n, int k, int *a, float *sum, float *p) { int j; for (j=0;j<k;j++) *sum+=A[*a][j]; *p*=A[*a][j]; } void proizvedenie (float A[5][6], int n, int k, int *x, float *z, float *proz) { int i; *proz=1; for (i=0;i<n;i++) *proz=*z*A[i][*x]; void vyvod (float A[5][6], int n, int k, float sum, float p) { int i,j; printf ("\nSumma = ", sum); printf ("\nProizvedenie v ctroke = ", p); for (i=0;i<n;i++) for (j=0;j<k;j++) printf ("%f", A[i][j]); printf ("\n"); } void vuvod (float A[5][6], int n, int k, float proz) { printf ("Proizvedenie v ctolbce = ", proz); } void main () { float A[5][6],proz,sum,p,z; int a,x; vvod (A,5,6, &a, &x, &z); sumproiz (A,5,6, &a, &sum, &p); proizvedenie (A,5,6, x, z, &proz); vyvod (A,5,6, &sum, &p); vuvod (A,5,6, proz); }
Решение задачи: «Умножение элементов произвольного столбца на заданное число»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> void vvod(float A[5][6], int n, int k, int* a, int* x, float* z) { int i, j; printf("Vvedite elementy massiva\n"); for (i = 0; i < n; i++) { for (j = 0; j < k; j++) { scanf("%3f", &A[i][j]); } } printf("Vvedite nomer ctpoku: "); scanf("%d", a); printf("Vvedite nomer ctolbca: "); scanf("%d", x); printf("Vvedite mnogitel: "); scanf("%f", z); } void sumproiz(float A[5][6], int n, int k, int* a, float* sum, float* p) { int j; *sum = 0; for (j = 0; j < k; j++) { *sum += A[*a][j]; } *p *= A[*a][j]; } void proizvedenie(float A[5][6], int n, int k, int* x, float* z, float* proz) { int i; *proz = 1; for (i = 0; i < n; i++) { *proz = *z * A[i][*x]; } } void vyvod(float A[5][6], int n, int k, float sum, float p) { int i, j; printf("Summa = %f\n", sum); printf("Proizvedenie v ctroke = %f\n", p); for (i = 0; i < n; i++) { for (j = 0; j < k; j++) { printf("%8.2f", A[i][j]); } printf("\n"); } } void vuvod(float A[5][6], int n, int k, float proz) { printf("Proizvedenie v ctolbce = %f\n", proz); } int main() { float A[5][6], proz, sum, p = 0, z; int a, x; vvod(A, 5, 6, &a, &x, &z); sumproiz(A, 5, 6, &a, &sum, &p); proizvedenie(A, 5, 6, &x, &z, &proz); vyvod(A, 5, 6, sum, p); vuvod(A, 5, 6, proz); system("pause"); return 0; }
Объяснение кода листинга программы
- Ввод значений матрицы и других переменных с помощью функции vvod.
- Вычисление суммы элементов столбца с помощью функции sumproiz.
- Вычисление произведения элементов столбца с помощью функции proizvedenie.
- Вывод суммы и произведения на экран с помощью функции vyvod.
- Вывод произведения в столбец на экран с помощью функции vuvod.
- Использование функции system(
pause
) для приостановки работы программы до нажатия клавиши. - Возвращение значения 0 в конце программы для корректного завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д