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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2014, 23:42   #1
alinyIIIka
Новичок
Джуниор
 
Регистрация: 06.06.2014
Сообщений: 1
По умолчанию Дана матрица А размером п х т. Определить k — количество особых элементов массива А (Помогите исправить ошибку в программе на С++)

Дана матрица А размером п х т. Определить k — количество особых элементов массива А, считая его элемент особым, если он больше суммы остальных элементов его столбца.

Код:
#include <iostream>
#include <algorithm>
#include <random>
#include <chrono>
#include "stdafx.h"

bool cmp(int* s1, int* s2){ return *s1 < *s2; };
template <typename T, typename C>
 size_t func(T s, size_t m, size_t n, C cm){
  T mas[n], tmp;
  size_t p, count=0, sum;
  
 while( m-- > 0)
 {
  p=0; sum=0; 
 while( p < n){ tmp=s+m+p; sum+=*tmp; mas[p++]=tmp; };
  
  std::sort(mas, mas+n, cm );
  sum/=2;
 while(p-- > 0)
 { 
      
 if( **(mas+p) < sum ) break;
  
 ++count;
     }
   };

 return count;

 };

 struct randm{
 randm(): s(std::chrono::system_clock::now().time_since_epoch().count()), gn(s){};
 unsigned s;
  std::mt19937 gn;
 long unsigned operator()(){ return gn(); }; 
 };

int main(int c, char** arg){
if(c<3) return -1;
 size_t n=std::stoi(arg[1]), m=std::stoi(arg[2]), i=n*m;
  int *s;
try{
  s=new int[i]; }
catch(std::bad_alloc& c){ return -1; };
randm rnd;
while(i>0){ s[--i]=rnd(); };

std::cout<<"Res "<<func(s, n, m, cmp)<<std::endl; 
delete [] s;
system("pause");
	return 0;
};


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 06.06.2014 в 23:58.
alinyIIIka вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задана матрица размером NxM. Определить k – количество “особых” элементов матрицы, считая элемент “особым”, если он больше суммы о Маленыч Общие вопросы Delphi 3 20.05.2013 00:08
Дана матрица размером NxM/ Определить упорядочены ли её строки по неубыванию суммы их элементов пожрать_бы Помощь студентам 3 12.12.2012 15:46
Дана прямоугольная матрица. Определить количество столбцов, произведение элементов которых меньше 5 Sweeney Паскаль, Turbo Pascal, PascalABC.NET 0 10.12.2008 01:41