Форум программистов, компьютерный форум CyberForum.ru

матрица - C++

Восстановить пароль Регистрация
 
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
23.09.2011, 14:53     матрица #1
Дана матрица размером 5х5. Найти ее минимальный, максимальный элементы. Заменить элементы первой строки на среднее арифметическое всех элементов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2011, 14:53     матрица
Посмотрите здесь:

C++ матрица...(
C++ Матрица...
Квадратная матрица А называется ортогональной,если А^T=А^-1. Определить, является ли заданная матрица А(n,n) ортогональной. C++
C++ Даны квадратная матрица A порядка n и вектор с n элементами. Получить вектор: (A=E)b, где E единичная матрица порядка n
Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
east
5 / 5 / 0
Регистрация: 23.09.2011
Сообщений: 10
23.09.2011, 15:01     матрица #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void Process(int* matrix, int n)
{
  if(matrix && (n>0))
  {
    int max = matrix[0];
    int min = matrix[0];
    //find max and min
    for (int i=0;i<n;i++)
      for(int j=0;j<n;j++)
      {
        if(max<matrix[i*n+j])
          max = matrix[i*n+j];
        if(min>matrix[i*n+j])
          min = matrix[i*n+j];
      }
 
    printf("max = %d min = %d \n",max,min);
 
    for(int j=0;j<n;j++)
    {
      matrix[j]= ((max+min) >>1);
    }
  }
}
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
23.09.2011, 15:07  [ТС]     матрица #3
Цитата Сообщение от east Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void Process(int* matrix, int n)
{
  if(matrix && (n>0))
  {
    int max = matrix[0];
    int min = matrix[0];
    //find max and min
    for (int i=0;i<n;i++)
      for(int j=0;j<n;j++)
      {
        if(max<matrix[i*n+j])
          max = matrix[i*n+j];
        if(min>matrix[i*n+j])
          min = matrix[i*n+j];
      }
 
    printf("max = %d min = %d \n",max,min);
 
    for(int j=0;j<n;j++)
    {
      matrix[j]= ((max+min) >>1);
    }
  }
}
на скриншоте
Миниатюры
матрица  
east
5 / 5 / 0
Регистрация: 23.09.2011
Сообщений: 10
23.09.2011, 15:10     матрица #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
 
void Process(int* matrix, int n);
int main()
{
  const int n = 5;
  int matrix[n*n];
  for(int i=0;i<n*n;i++)
    matrix[i]=rand();
 
  Process(matrix,n);
 
}
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
23.09.2011, 15:23  [ТС]     матрица #5
Цитата Сообщение от east Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
 
void Process(int* matrix, int n);
int main()
{
  const int n = 5;
  int matrix[n*n];
  for(int i=0;i<n*n;i++)
    matrix[i]=rand();
 
  Process(matrix,n);
 
}
да что за борода я не пойму
Миниатюры
матрица  
east
5 / 5 / 0
Регистрация: 23.09.2011
Сообщений: 10
23.09.2011, 15:28     матрица #6
покажите полностью - что Вы там написали?
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
23.09.2011, 15:30  [ТС]     матрица #7
Цитата Сообщение от east Посмотреть сообщение
покажите полностью - что Вы там написали?
полностью
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <stdlib.h>
 
void Process(int* matrix, int n);
int main()
{
  const int n = 5;
  int matrix[n*n];
  for(int i=0;i<n*n;i++)
    matrix[i]=rand();
 
  Process(matrix,n);
 
}
{
  if(matrix && (n>0))
  {
    int max = matrix[0];
    int min = matrix[0];
    //find max and min
    for (int i=0;i<n;i++)
      for(int j=0;j<n;j++)
      {
        if(max<matrix[i*n+j])
          max = matrix[i*n+j];
        if(min>matrix[i*n+j])
          min = matrix[i*n+j];
      }
 
    printf("max = %d min = %d \n",max,min);
 
    for(int j=0;j<n;j++)
    {
      matrix[j]= ((max+min) >>1);
    }
  }
}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
23.09.2011, 15:33     матрица #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <conio.h>
#define N 5
 
int main()
{
    float a[N][N], min, max, ave = 0;
    for (int i=0; i<N; i++)
        for (int j=0; j<N; j++)
        {
            std::cout<<"Enter value: ";
            std::cin >> a[i][j];
            ave += a[i][j];
            if (i == 0 && j == 0)
            {
                min = a[i][j];
                max = a[i][j];
            }
            if(a[i][j] < min)
                min = a[i][j];
            if(a[i][j] > max)
                max = a[i][j];
        }
    ave /= (N*N);
    for(int k=0; k<N; k++)
    {
        for(int l=0; l<N; l++)
        {
            if (k == 0) 
                a[k][l] = ave;
            std::cout<< a[k][l]<< " ";
        }
        std::cout<< "\n";
    }
    std::cout<< "min= "<< min<< "\n"<< "max= "<< max;
    getch();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2011, 15:59     матрица
Еще ссылки по теме:

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) C++
C++ дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
east
5 / 5 / 0
Регистрация: 23.09.2011
Сообщений: 10
23.09.2011, 15:59     матрица #9
Вот так должна Ваша программа полностью выглядеть

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
#include <stdlib.h>
 
void Process(int* matrix, int n);
int main()
{
  const int n = 5;
  int matrix[n*n];
  for(int i=0;i<n*n;i++)
    matrix[i]=rand();
 
  Process(matrix,n);
 
}
void Process(int* matrix, int n)
{
  if(matrix && (n>0))
  {
    int max = matrix[0];
    int min = matrix[0];
    //find max and min
    for (int i=0;i<n;i++)
      for(int j=0;j<n;j++)
      {
        if(max<matrix[i*n+j])
          max = matrix[i*n+j];
        if(min>matrix[i*n+j])
          min = matrix[i*n+j];
      }
 
    printf("max = %d min = %d \n",max,min);
 
    for(int j=0;j<n;j++)
    {
      matrix[j]= ((max+min) >>1);
    }
  }
}
Добавлено через 26 минут
Ошибка там закралась в функцию Process :

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
void Process(int* matrix, int n)
{
  if(matrix && (n>0))
  {
    int max = matrix[0];
    int min = matrix[0];
    double average = 0;
    //find max and min
    for (int i=0;i<n;i++)
      for(int j=0;j<n;j++)
      {
        if(max<matrix[i*n+j])
          max = matrix[i*n+j];
        if(min>matrix[i*n+j])
          min = matrix[i*n+j];
        average+=(double)matrix[i*n+j]/(n*n);
      }
 
    printf("max = %d min = %d \n",max,min);
 
    for(int j=0;j<n;j++)
    {
      matrix[j]= (int)average;
    }
  }
}
Среднее, да не то считалось ) Вот так будет по условию
Yandex
Объявления
23.09.2011, 15:59     матрица
Ответ Создать тему
Опции темы

Текущее время: 09:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru