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

Исправте ошибку в задаче на С++! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа не работает с типом string http://www.cyberforum.ru/cpp-beginners/thread1202784.html
В фукции main, строка NodeQueue<string> data; При вводе элементов программа тупо вылетает. С int float и char работает, но мне нужна именно строка. Где может быть ошибка? #include <cstdlib>...
C++ Сортировка матриц В матрице размером NxM упорядочить строки по возрастанию суммы их элементов. Есть рабочий код. Но он только для матрицы 3x3. Необходимо сделать, чтобы размеры матриц вводились с клавиатуры. Может... http://www.cyberforum.ru/cpp-beginners/thread1202778.html
Сортировка матриц C++
В матрице размером NxM упорядочить строки по возрастанию суммы их элементов. Есть рабочий код. Но он только для матрицы 3x3. Необходимо сделать, чтобы размеры матриц вводились с клавиатуры. Может...
C++ Вычисление наибольшей общей последовательности двух байтовых последовательностей методом динамического програм
вычисление наибольшей общей последовательности двух байтовых последовательностей методом динамического программирования. Результаты выводятся на экран. Байтовые последовательности должны быть...
C++ Циклы с предусловием и с постусловием: получить наибольшее целое k, при котором 4k<N http://www.cyberforum.ru/cpp-beginners/thread1202770.html
Дано натуральное число N. Получить наибольшее целое k, при котором 4k<N. Функцию для возведения в степень не использовать
C++ ХЕЛП вычисление суммы отрицательных элементов каждого столбца и запись его в массив, возведение матрицы в квадрат, вычисление следа матрицы, сравнение матриц на равенство, вывод элементов матрицы на... подробнее

Показать сообщение отдельно
Алинка
Сообщений: n/a

Исправте ошибку в задаче на С++! - C++

08.06.2014, 17:59. Просмотров 137. Ответов 0
Метки (Все метки)

Дана матрица А размером п х т. Определить 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;
};
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru