Умножение элементов произвольного столбца на заданное число - 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;
}

Объяснение кода листинга программы

  1. Ввод значений матрицы и других переменных с помощью функции vvod.
  2. Вычисление суммы элементов столбца с помощью функции sumproiz.
  3. Вычисление произведения элементов столбца с помощью функции proizvedenie.
  4. Вывод суммы и произведения на экран с помощью функции vyvod.
  5. Вывод произведения в столбец на экран с помощью функции vuvod.
  6. Использование функции system(pause) для приостановки работы программы до нажатия клавиши.
  7. Возвращение значения 0 в конце программы для корректного завершения работы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы