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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Robbi
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 11
#1

Задача на матрицу - C++

15.03.2009, 00:29. Просмотров 626. Ответов 3
Метки нет (Все метки)

Дана целочисленная матрица 4x7. Определить минимальное и максимальное значения матрицы и их местоположение. Найти среднее арифметическое значение положительных элементов и модулей отрицательных элементов в каждом столбце матрицы. Результаты вычислений записать в одномерные массивы.

Очень прошу помочь
P.S. Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2009, 00:29     Задача на матрицу
Посмотрите здесь:

C++ Задача на квадратную матрицу
C++ [C++] Задача на матрицу
C++ Задача на матрицу
Задача про матрицу C++
Задача на матрицу C++
C++ Задача: привести матрицу к треугольному виду
C++ Задача на матрицу. Язык С++
C++ Задача на матрицу
Задача на матрицу C++
Получить матрицу из чисел, заполняющих матрицу по линиям, параллельным главной диагонали C++
C++ Не сложная задача на матрицу и еще
Задача на матрицу: подсчитать количество нечетных элементов в каждом столбце C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
15.03.2009, 00:39     Задача на матрицу #2
таких задач полно на форуме... покопайся ;-)
Robbi
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 11
15.03.2009, 15:25  [ТС]     Задача на матрицу #3
Помогите разобраться: вадает неверный результат, причем если поменять размерность матрицы на, на пример, 2*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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include<iostream>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
using namespace std;
#define m 4
#define n 7
int main()
{
    int i,j;
    float a[m][n];
    for(i=0; i<m; i++) 
    {
 
       for(j=0; j<n; j++) {
           a[i][j] = rand()%10-rand()%10;
          cout<<" "<<a[i][j]<<" ";
       }
       cout<<endl;
    }
 
   float min, max;
   max = min = a[0][0];
   int imax,jmax,imin,jmin;
   imax=jmax=imin=jmin=0;
   for( i=0;i<m;i++)
   {
       for(j=0; j<n; j++)
       {
           //максимальный элемент и его местоположение      
          if(a[i][j] > max) 
          {
             max = a[i][j];
             imax = i;
             jmax = j;
          }
          //минимальный элемент и его местоположение
          if(a[i][j] < min) 
          {
             min = a[i][j];
             imin = i;
             jmin = j;
          }
       }
   }
          cout<<"Max "<<max<<"["<<imax<<"]"<<"["<<jmax<<"]"<<endl;
          cout<<"Min "<<min<<"["<<imin<<"]"<<"["<<jmin<<"]"<<endl;
 
   
          for (j=0;j<n;j++)
          {
          float sum1=0,sum2=0;
          int t1=0,t2=0;
      
       for (i=0;i<m;i++)
        {
        {
          if (a[i][j]>0)
          sum1=sum1+a[i][j];
          t1++;
        }
        {
          if (a[i][j]<0)
          sum2=sum2+abs(a[i][j]);
          t2++;
        }
       }
        cout<<" Sr. arifm. pologitelnuh chisel "<<j<<" stolbca= "<<sum1/t1<<endl;
        cout<<" Sr. arifm. mod. otric. chisel "<<j<<" stolbca= "<<sum2/t2<<endl;
 
    }
    getch();
}
Gravity
557 / 551 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
15.03.2009, 16:20     Задача на матрицу #4
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#define M 4
#define N 7
 
int main()
{
    int i, j, k, l, a[M][N], max, min, imax, jmax, imin, jmin,
        polsum, otrsum, otrcount, polcount;
    float polmas[N], otrmas[N], ;
    
    //заполнение и вывод матрицы
    for(i=0; i<M; i++) {
       for(j=0; j<N; j++) {
          a[i][j] = rand()%30 - rand()%20;
          printf("%4d", a[i][j]);
       }
       printf("\n");
    }
       
    max = min = a[0][0];
    k = l = imax = jmax = imin = jmin = 0;
    for(j=0; j<N; j++) {
       polsum = otrsum = otrcount = polcount = 0;
       for(i=0; i<M; i++) {
          //максимальный элемент и его местоположение      
          if(a[i][j] > max) {
             max = a[i][j];
             imax = i;
             jmax = j;
          }
          //минимальный элемент и его местоположение
          if(a[i][j] < min) {
             min = a[i][j];
             imin = i;
             jmin = j;
          }
          //сумма положительных элементов столбца
          if(a[i][j] > 0) {
             polsum += a[i][j];
             polcount++;
          }
          //сумма модулей отрицательных элементов столбца
          if(a[i][j] < 0) {
             otrsum += abs(a[i][j]);
             otrcount++;
          }
       }
       //средние арифметические
       polcount > 0 ? polmas[k++] = (float) polsum / polcount : polmas[k++] = 0;
       otrcount > 0 ? otrmas[l++] = (float) otrsum / otrcount : otrmas[l++] = 0;
    }
    
    printf("\nMax element = %d, index = [%d; %d]\n"
           "Min element = %d, index = [%d; %d]\n", max, imax, jmax, min, imin, jmin);
    printf("\nSr. arifm. polojitel'nyh elementov stolbtsov:\n");
    for(i=0; i<k; i++)
       printf("%4.2f ", polmas[i]);
    printf("\n\nSr. arifm. modulei otritsatel'nyh elementov stolbtsov:\n");
    for(i=0; i<l; i++)
       printf("%4.2f ", otrmas[i]);
       
    getch();
    return 0;
}
Yandex
Объявления
15.03.2009, 16:20     Задача на матрицу
Ответ Создать тему
Опции темы

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