Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > MATРИЦЫ


Автор: Pavlentiy 1.6.2006, 16:29
В двумерном массиве найти среднее арифметическое первого столбца и количество элементов в каждом из следующих столбцов, превышающих среднее арифметическое предыдущего столбца.

Код

#include<stdio.h>
#include<conio.h>
void main()
{
    int i,j,str,stb,sum=0,sred=0,itog=0;
    int mas [100][100];
    
    printf("Vvedite razmernost matrici:\n");
    printf("\nkolichestvo strok:");
    scanf("%d",&str);
    printf("\nkolichestvo stolbcov:");
    scanf("%d",&stb);
    for (i=0;i<str;i++)
      for (j=0;j<stb;j++)
      {
          printf("mat[%d][%d]=",i+1,j+1);
          scanf("%d",&mas [i][j]);
      }
      for (i=0;i<str;i++)
            {
            for (j=0;j<stb;j++)
          printf("%d_",mas[i][j]);
          printf("\n");
            }
      for(i=0,j=0;i<str;i++)
          sum+=mas[i][j];
      sred=sum/str;
        printf("\nSrednee = %d",sred);
    for (j=0;j<stb;j++)
      for (i=0;i<str;i++)
          if(mas[i][j]>sred)
          {
              printf("%d",mas[i][j]);
              itog++;
          }
          printf("kol-vo elementov %d",itog);
          getch();

}

Где ошибки, помогите, не хочет считать мреднего значения, да и количество элементов больше среднего smile 
 smile  smile 
ПОМОГИТЕ ПЖАЛСТА.......... 

Автор: MAKCim 1.6.2006, 16:39
Код

void main()
{
    int i,j,str,stb,sum=0,itog=0;
    double sred=0.0;
    int mas [100][100];
    
    printf("Vvedite razmernost matrici:\n");
    printf("\nkolichestvo strok:");
    scanf("%d",&str);
    printf("\nkolichestvo stolbcov:");
    scanf("%d",&stb);
    for (i=0;i<str;i++)
    {
        for (j=0;j<stb;j++)
        {
            printf("mat[%d][%d]=",i+1,j+1);
            scanf("%d",&mas [i][j]);
         }
    }
    for (i=0;i<str;i++)
    {
        for (j=0;j<stb;j++)
        printf("%d_",mas[i][j]);
        printf("\n");
     }
      for(i=0,j=0;i<str;i++)
          sum+=mas[i][j];
      sred=sum/str;
        printf("\nSrednee = %f",sred);
    for (j=1;j<stb;j++)
    {
      sum=0;
      for (i=0;i<str;i++)
       {
          sum+=mas[i][j];
          if((double)mas[i][j]>sred)
          {
              printf("%d",mas[i][j]);
              ++itog;
          }
        }
        sred=sum/str;
     }
          printf("kol-vo elementov %d",itog);
          getch();
}
   

Автор: Павлуха 1.6.2006, 16:56
smile пасииба

Добавлено @ 17:00 
а  почему среднее выводит стока лишних нулей, например, вместо 1,2 - 1,000000000002??? 

Автор: Earnest 1.6.2006, 17:38
Цитата(Павлуха @  1.6.2006,  17:56 Найти цитируемый пост)
а  почему среднее выводит стока лишних нулей, например, вместо 1,2 - 1,000000000002???  

Это два совершенно разных числа, и нули во втором случае совершенно не лишние.
И еще:
Модератор: Пожалуйста, один топик - один вопрос. 

Автор: AlanG 1.6.2006, 18:20
А я предлагал создать раздел посвященный матрицам...... smile 

А вопрос не так должен звучать?
В двумерном массиве найти среднее арифметическое первого столбца и количество элементов в каждом из следующих столбцов, значене которых превышает среднее арифметическое предыдущего столбца.
А то кол-во эллементов это не правильно, по крайней мере судя по коду. Тебе веть вроде значение каждого эллемента нужно, а не их кол-во?
Да и вообще не интересно забивать матрицу конкретными значениями smile, веть сразу ясно, значенеи каких эллементов будет  превышать среднее арифметическое. 

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