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

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

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

В матрице имеется столбец в котором разность между максимальным элементом и среднем арифметическим больше первого элемента найти этот столбец и замети - C++

24.11.2012, 15:14. Просмотров 391. Ответов 2
Метки нет (Все метки)

В матрице имеется столбец в котором разность между максимальным элементом и среднем арифметическим больше первого элемента найти этот столбец и заметить этот элемент на 1.вывести матрицу.
у меня проблема в следующем : программа в цикле не берет значение максимума оно везде 0( для проверки в теле я вывожу все промежуточные значения, там ерунда какая то.В нуего от куда то еще отрицательные значения появляются. для проверки беру числа
N=3
M=2
3
30
10
10
20
20
Вот тут MAX=0 ! как так ((
вот мой горе код
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
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <cmath>
#include <math.h>
#include <ctype.h>
#include <conio.h> 
 
using namespace std;
int main()
{    
     setlocale(LC_ALL,"Russian");
double max,sr,raz,A[30][30];
int i,j,M,N,cym;
cym=0;
sr=0;
max=0;
cout<<"Введите размерность матрицы NxM"<<'\n';
cout<<"N=";cin>>N;
cout<<"M=";cin>>M;
//srand(time(NULL));
for (i=0;i<N;i++)
{for (j=0;j<M;j++)
cin>>A[i][j];}
//{ A[i][j] = rand() % 100; };}
for (i=0;i<N;i++)
{for (j=0;j<M;j++)
cout<<A[i][j]<<'\t';
cout<<endl;}
j=0;
do  
    {for (i=0;i<N;i++) 
        cym+=A[i][j];
        if (A[i][j]>max)
        {max=A[i][j];}
        else;
        cout<<max<<'\n';
    sr=cym/(N);
    cout<<sr<<'\n';
    raz=max-sr;
    cout<<raz<<'\n';
    i=0;
    if (A[i][j]<raz)
        A[i][j]=1;
    else;
    sr=0;
    cym=0;
    max=0;
    j++;}
while (j<M);
for (i=0;i<N;i++)
{for (j=0;j<M;j++)
cout<<A[i][j]<<'\t';
cout<<endl;} 
_getch();
return 0;
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2012, 15:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В матрице имеется столбец в котором разность между максимальным элементом и среднем арифметическим больше первого элемента найти этот столбец и замети (C++):

В матрице найти столбец, в котором разность между максимальным элементом и среднем арифметическим больше первого элемента - C++
В матрице имеется столбец в котором разность между максимальным элементом и среднем арифметическим больше первого элемента наити этот...

Найти разность между максимальным элементом главной диагонали и минимальным элементом побочной - C++
Вводится матрица размером NxN. Найти разность между максимальным элементом, принадлежащим главной диагонали и минимальным элементом...

Найти столбец с самым большим элементом в заданной матрице - C++
Прошу помочь по решению задачи для курсовой. Задача очень простая! Дана матрица: Найти колонну с самым большым элементом в...

Поменять местами столбец, с минимальным элементом, со столбцом, с максимальным элементом - C++
Задана матрица размером N*M. Поменять местами столбец, содержащий элемент с минимальным значением, со столбцом, содержащим элемент с...

Найти столбец с максимальным произведением элемента - C++
Найти столбец с максимальным произведением элемента Только сам цикл,благодарю Язык Си

Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X - C++
Задача заключается в следующем: 1)Построить матрицу. Матрицу построил, но она выводится в строку. Как вывести её нормально, по столбцам...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
24.11.2012, 15:29 #2
C++
1
2
3
4
    for (i = 0; i < N; i++) 
        cym += A[i][j];
    if (A[i][j] > max) {
        max = A[i][j];
скобки забыли, надо так
C++
1
2
3
4
5
6
7
    for (i = 0; i < N; i++) {
        cym += A[i][j];
        if (A[i][j] > max) {
            max = A[i][j];
        } else;
            cout << max << '\n';
    }
и еще, надо начальное значение максимального элемента брать реальное, например max = A[0][0], иначе если все значения отрицательные, максимальное и останется 0.
1
gvozdx
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 8
24.11.2012, 20:51  [ТС] #3
Спасибо огромное помогли! все работает ! от души спасибо!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2012, 20:51
Привет! Вот еще темы с ответами:

В массиве из 10 целых чисел вычислить разность между наибольшим элементом и средним арифметическим - C++
В массиве из 10 целых чисел вычислить разность между наибольшим элементом и средним арифметическим всех элементов массива. Добавлено...

Как заменить столбец матрицы максимальным элементом? - C++
Дан масив 3 на 6. Надо было найти максималный элемент,а потом вставить его в 3 столбец. Вот на этом я и завис. В консольном форме ничего не...

Найти номер первого из ее столбцов содержащих максимальное количество одинаковых элементов и вывести этот столбец вместе с номером - C++
Данная целочисленная матрица размерностью М х N (указать размерность самому, генерация элементов рандомом). Найти номер первого из ее...

Не получается удалить столбец с max и min элементом в матрице - C++
Не получается удалить столбец с max и min элементом в матрице!!! int main() { randomize(10); int n,min=0,max=0,k,p;...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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