Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > ошибки в коде


Автор: SaYfeR 19.5.2014, 21:45
программа в си.
Помогите отладить код и найти ошибки. Задание: нужно вычислить среднее арифметическое каждого столбца
Код

#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>
void main()
{
    int *mas;
    int n,m,sr=0,sum=0,j=0,i=0;
    system ("chcp 1251");
    system ("cls");
    printf("Введите кол-во строк: ");
    scanf("%d", &n);
    printf("Введите кол-во столбцов: ");
    scanf("%d", &m);
    mas=(int*)malloc(n*m*sizeof(int));
    printf("Введите матрицу:\n");
    for(i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            scanf("%d", (mas+i*m+j));
        }
    }
    printf("Полученная матрица:\n");
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            printf("%d ", *(mas+i*m+j));
        }
 printf("\n");
 for(int j=0;j<m;j++)
    {
      sum=0;
        for(int i=0;i<n;i++)
        { 
          sum=sum+*(mas+j*n+i);
        }
        sr=sum/m;
      {
       printf("%d ", sr);
        }
    }
    }
    getchar(); getchar();
}

вот что получается (на русские буквы не обращайте внимание!)
http://s1.ipicture.ru/Gallery/Viewfull/40963043.html
а мне нужно чтобы код отдельно выдал матрицу, а потом среднее арифм каждого столбца
В чем моя ошибка?

Автор: feodorv 20.5.2014, 07:36
Цитата(SaYfeR @  19.5.2014,  22:45 Найти цитируемый пост)
а мне нужно чтобы код отдельно выдал матрицу

Тогда печатайте матрицу отдельно, а не вместе со среднее арифм каждого столбца:
Цитата(SaYfeR @  19.5.2014,  22:45 Найти цитируемый пост)
    printf("Полученная матрица:\n");
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            printf("%d ", *(mas+i*m+j));
        }
        printf("\n");
    }

    for(int i=0;i<n;i++)
    {

      for(int j=0;j<m;j++)
      {
        sum=0;
        for(int i=0;i<n;i++)
        { 
          sum=sum+*(mas+j*n+i);
        }
        sr=sum/m;
        printf("%d ", sr);
      }
    }


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)