Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2013, 15:16   #1
Alchemist56
Пользователь
 
Регистрация: 23.11.2012
Сообщений: 27
Восклицание C++ матрица

Код:
#include "stdafx.h"
#include <iostream>
using namespace std;

void main()
{
	setlocale (LC_CTYPE, "russian");
int a[4],i,s=0,k;
cout<<"Вводим элементы матрицы(4х1)"<<endl;
for(i=0; i<4; i++)
cin>>a[i];
cout<<"Сумма элементов матрицы="<<endl;
for(i=0; i<4; i++)
s=s+a[i];
cout<<s<<endl;
int min=a[0],max=a[0];//max and min элемент матрицы
for (int i=1;i<4;i++)
           { //пробегаемся по матрице
 if (min>a[i])
   min=a[i];
 if (max<a[i])
   max=a[i];}
cout<<"Мин= "<<min<<"\nМакс= "<<max;
getchar();
-- матрица 4х1, находит сумму всех элементов+минимальное+ максимальное значение...

Помогите найти кол-во максимальных элементов матрицы???

За ранее СПАСИБО!

Последний раз редактировалось Alchemist56; 08.02.2013 в 15:30.
Alchemist56 вне форума Ответить с цитированием
Старый 08.02.2013, 15:20   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Т.е. вы хотите подсчитать сколько раз будет меняться максимальное значение? Я верно Вас понял?
По точнее сформулируйте, что необходимо получить.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 08.02.2013, 15:29   #3
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Добавьте переменную numMax, инициализированную 1. Проверяйте max==a[i] и в этом случае увеличивайте numMax на 1. При изменении max сбрасывайте numMax обратно в 1.
Abstraction вне форума Ответить с цитированием
Старый 08.02.2013, 15:32   #4
Alchemist56
Пользователь
 
Регистрация: 23.11.2012
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Т.е. вы хотите подсчитать сколько раз будет меняться максимальное значение? Я верно Вас понял?
По точнее сформулируйте, что необходимо получить.

Вот смотрите: у меня программа нашла максимальное значение, допустим 4,
мне нужно посчитать сколько этих Четверок в массиве.
Alchemist56 вне форума Ответить с цитированием
Старый 08.02.2013, 15:33   #5
Alchemist56
Пользователь
 
Регистрация: 23.11.2012
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Добавьте переменную numMax, инициализированную 1. Проверяйте max==a[i] и в этом случае увеличивайте numMax на 1. При изменении max сбрасывайте numMax обратно в 1.
Что-то не понял... Добавьте переменную numMax, инициализированную 1. это как????
Alchemist56 вне форума Ответить с цитированием
Старый 08.02.2013, 15:38   #6
Alchemist56
Пользователь
 
Регистрация: 23.11.2012
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Добавьте переменную numMax, инициализированную 1. Проверяйте max==a[i] и в этом случае увеличивайте numMax на 1. При изменении max сбрасывайте numMax обратно в 1.
--так????
Код:
int numMax(1);
for(max==a[i];numMax++);
}
Alchemist56 вне форума Ответить с цитированием
Старый 08.02.2013, 15:41   #7
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Код:
int numMax = 1;
if(max==a[i]) numMax++;
Скорее так...
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 08.02.2013, 15:42   #8
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Не тупите. Было:
Код:
int min=a[0],max=a[0];//max and min элемент матрицы
for (int i=1;i<4;i++)
{ //пробегаемся по матрице
  if (min>a[i])
    min=a[i];
  if (max<a[i])
    max=a[i];
}
Стало:
Код:
int min=a[0],max=a[0], numMax=1;//max and min элемент матрицы
for (int i=1;i<4;i++)
{ //пробегаемся по матрице
  if (min>a[i])
    min=a[i];
  if (max == a[i])
    ++numMax;
  if (max<a[i]){
    numMax = 1;
    max=a[i];
  }
}
Abstraction вне форума Ответить с цитированием
Старый 08.02.2013, 15:42   #9
Alchemist56
Пользователь
 
Регистрация: 23.11.2012
Сообщений: 27
По умолчанию

Ошибка 2 error C2143: синтаксическая ошибка: отсутствие ";" перед ")" 5(1) prog\5(1)\5(1).cpp 28 1
Ошибка 3 error C2143: синтаксическая ошибка: отсутствие ";" перед ")" 5(1) prog\5(1)\5(1).cpp 28 1
4 IntelliSense: требуется точка с запятой ";" 5(1) prog\5(1)\5(1).cpp 28 14
Alchemist56 вне форума Ответить с цитированием
Старый 08.02.2013, 16:03   #10
Alchemist56
Пользователь
 
Регистрация: 23.11.2012
Сообщений: 27
По умолчанию

Стало:
Код:
int min=a[0],max=a[0], numMax=1;//max and min элемент матрицы
for (int i=1;i<4;i++)
{ //пробегаемся по матрице
  if (min>a[i])
    min=a[i];
  if (max == a[i])
    ++numMax;
  if (max<a[i]){
    numMax = 1;
    max=a[i];
  }
}
[/QUOTE]


ничего не понял.... зачем использовать минимальный элемент...

помогите отдельно написать скрипт, т.е чтобы ответы мин. и максимальные не перекликались.....
иначе ответы оч плохие получаются... непонятные
[/CODE]
Alchemist56 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица Sancho Baby Паскаль, Turbo Pascal, PascalABC.NET 4 23.02.2012 21:40
Паскаль. Матрица NxN -> текстовый файл -> Матрица NxN - найти max по диагоналям -> типизированный файл Лунатик13 Помощь студентам 1 20.02.2012 15:54
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11
матрица Babur4iK Помощь студентам 1 11.11.2009 17:53