Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Hed-kun

Программирование, т. 3

Рекомендованные сообщения

Решите ему задачи, а задач нету

big36.gif

1) Дан массив А(5). Найти сумму и количество положительных элементов.

2) Найти количество отрицательных элементов матрицы А(4,4)

3) Строковые потоки. Входные строковые потоки.

мне сказали что задачи очень легкие, мне стало стыдно я не могу решить их.

 

Опять вы с вашими плюсами. Не благодари :trollface: :trollface: :trollface:

 

// testpd.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include <vector>

#include <algorithm>

#include <numeric>

#include <iostream>

#include <typeinfo>

 

using namespace std;

template <typename T>

bool IsNegative(T value){

return value < 0;

}

 

template <typename T>

void task1(const T* A){

vector<T> temp;

remove_copy_if(A, A+5, back_insert_iterator<vector<T>>(temp), IsNegative<T>);

 

std::cout << "1: sum = " << std::accumulate(temp.begin(),temp.end(),0) << std::endl;

std::cout << "1: count = " << temp.size() << std::endl;

}

 

template <typename T>

void task2(const T* A){

const unsigned mcount = std::count_if(A,A+16,IsNegative<T>);

cout << "2: count is " << mcount << std::endl;

}

 

template <typename T>

T getNextRand(){

return rand()%100 -50;

}

 

int _tmain(int argc, _TCHAR* argv[])

{

//1) Дан массив А(5). Найти сумму и количество положительных элементов.

{

int A[] = {-5,-3,5,6,7};

task1(&A[0]);

}

//2) Найти количество отрицательных элементов матрицы А(4,4)

{

int A[4][4] = {

{getNextRand<int>(),getNextRand<int>(),getNextRand<int>(),getNextRand<int>()},

{getNextRand<int>(),getNextRand<int>(),getNextRand<int>(),getNextRand<int>()},

{getNextRand<int>(),getNextRand<int>(),getNextRand<int>(),getNextRand<int>()},

{getNextRand<int>(),getNextRand<int>(),getNextRand<int>(),getNextRand<int>()}

};

const int* ffs = &A[0][0];

task2(ffs);

ffs = 0;

}

//3) Строковые потоки. Входные строковые потоки.

{

//просто охуенная задача. Условия от бога. решай сам.

 

}

 

return 0;

}

Поделиться сообщением


Ссылка на сообщение

Sub jj()

Const N& = 100 'ðàçìåð âûáîðêè

Dim a(), b(1 To N, 1 To 1), i&

a = Intersect(Range("A:B:C"), ActiveSheet.UsedRange).Value

For i = 1 To N

Do

b(i, 1) = a(1 + Int(Rnd * UBound(a)), 1 + Int(Rnd * 2))

Loop While IsEmpty(b(i, 1))

Next

ActiveCell.Resize(N).Value = b

End Sub

 

Почему макрос не делает выборку из колонки С?

потому что Range("A:C")

Ну когда я пишу A:B то он берет рандом из А и В

 

А если пишу A:C то колонку С он игнорит, почему?

 

А я скинул не то вот верный вариант

 

 

Sub jj()

Const N& = 100 'ðàçìåð âûáîðêè

Dim a(), b(1 To N, 1 To 1), i&

a = Intersect(Range("A:C"), ActiveSheet.UsedRange).Value

For i = 1 To N

Do

b(i, 1) = a(1 + Int(Rnd * UBound(a)), 1 + Int(Rnd * 2))

Loop While IsEmpty(b(i, 1))

Next

ActiveCell.Resize(N).Value = b

End Sub

 

Вот верный - но в том все и дело - у меня стоит А:С но колонку С он игнорирует

ну если чо, то 1 + Int(Rnd * 2) возвращает значения от 1 до 2 и определяет номер столбца, так что какие бы ты диапазоны не указывал в переменной a, в b значения будут подставляться из первых двух столбцов.

 

Я вообще не программист, мне просто нужно что бы этот макрос работал, если я напишу 1 + Int(Rnd * 3) то все будет ок?

Поделиться сообщением


Ссылка на сообщение
(изменено)
Опять вы с вашими плюсами. Не благодари :trollface: :trollface: :trollface:

 

// testpd.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include <vector>

#include <algorithm>

#include <numeric>

#include <iostream>

#include <typeinfo>

 

using namespace std;

template <typename T>

bool IsNegative(T value){

return value < 0;

}

 

template <typename T>

void task1(const T* A){

vector<T> temp;

remove_copy_if(A, A+5, back_insert_iterator<vector<T>>(temp), IsNegative<T>);

 

std::cout << "1: sum = " << std::accumulate(temp.begin(),temp.end(),0) << std::endl;

std::cout << "1: count = " << temp.size() << std::endl;

}

 

template <typename T>

void task2(const T* A){

const unsigned mcount = std::count_if(A,A+16,IsNegative<T>);

cout << "2: count is " << mcount << std::endl;

}

 

template <typename T>

T getNextRand(){

return rand()%100 -50;

}

 

int _tmain(int argc, _TCHAR* argv[])

{

//1) Дан массив А(5). Найти сумму и количество положительных элементов.

{

int A[] = {-5,-3,5,6,7};

task1(&A[0]);

}

//2) Найти количество отрицательных элементов матрицы А(4,4)

{

int A[4][4] = {

{getNextRand<int>(),getNextRand<int>(),getNextRand<int>(),getNextRand<int>()},

{getNextRand<int>(),getNextRand<int>(),getNextRand<int>(),getNextRand<int>()},

{getNextRand<int>(),getNextRand<int>(),getNextRand<int>(),getNextRand<int>()},

{getNextRand<int>(),getNextRand<int>(),getNextRand<int>(),getNextRand<int>()}

};

const int* ffs = &A[0][0];

task2(ffs);

ffs = 0;

}

//3) Строковые потоки. Входные строковые потоки.

{

//просто охуенная задача. Условия от бога. решай сам.

 

}

 

return 0;

}

 

:fffuuu: :fffuuu: :fffuuu: :fffuuu: :fffuuu: :fffuuu: :fffuuu: :fffuuu: :fffuuu: :fffuuu:

 

remove_copy_if(A, A+5, back_insert_iterator<vector<T>>(temp), IsNegative<T>);

std::cout << "1: sum = " << std::accumulate(temp.begin(),temp.end(),0) << std::endl;

const unsigned mcount = std::count_if(A,A+16,IsNegative<T>);

k07097.gif

 

думаю следующая аватарка 2пова будет такая

 

18.jpg

 


Изменено пользователем justice_st

Поделиться сообщением


Ссылка на сообщение

Ну я вообще думал все сделать темплэйтами, что бы на этапе компиляции результат был известен, только времени жалко )

Поделиться сообщением


Ссылка на сообщение

я представляю че будет если паря эту хуйню сдавать пойдет :trollface: сам препод нихуя не поймет

хотя она у него не скомпилится 100%

Поделиться сообщением


Ссылка на сообщение
(изменено)

я представляю че будет если паря эту хуйню сдавать пойдет :trollface: сам препод нихуя не поймет

хотя она у него не скомпилится 100%

скомпилится. все по стандарту

 

только на мэйне может ругаться, т.к. энтри не найдет и тчар , на ffs = 0; (походу компилятор проигнорил конст и дал изменить) , и на инклюдах


Изменено пользователем Tinplz

Поделиться сообщением


Ссылка на сообщение

getNextRand<int>() - откуда это? С какой библиотеки? И чего гугл находит его только в яве?

Поделиться сообщением


Ссылка на сообщение

Sub jj()

Const N& = 100 'ðàçìåð âûáîðêè

Dim a(), b(1 To N, 1 To 1), i&

a = Intersect(Range("A:B:C"), ActiveSheet.UsedRange).Value

For i = 1 To N

Do

b(i, 1) = a(1 + Int(Rnd * UBound(a)), 1 + Int(Rnd * 2))

Loop While IsEmpty(b(i, 1))

Next

ActiveCell.Resize(N).Value = b

End Sub

 

Почему макрос не делает выборку из колонки С?

потому что Range("A:C")

Ну когда я пишу A:B то он берет рандом из А и В

 

А если пишу A:C то колонку С он игнорит, почему?

 

А я скинул не то вот верный вариант

 

 

Sub jj()

Const N& = 100 'ðàçìåð âûáîðêè

Dim a(), b(1 To N, 1 To 1), i&

a = Intersect(Range("A:C"), ActiveSheet.UsedRange).Value

For i = 1 To N

Do

b(i, 1) = a(1 + Int(Rnd * UBound(a)), 1 + Int(Rnd * 2))

Loop While IsEmpty(b(i, 1))

Next

ActiveCell.Resize(N).Value = b

End Sub

 

Вот верный - но в том все и дело - у меня стоит А:С но колонку С он игнорирует

ну если чо, то 1 + Int(Rnd * 2) возвращает значения от 1 до 2 и определяет номер столбца, так что какие бы ты диапазоны не указывал в переменной a, в b значения будут подставляться из первых двух столбцов.

 

Я вообще не программист, мне просто нужно что бы этот макрос работал, если я напишу 1 + Int(Rnd * 3) то все будет ок?

очень вероятно, что заработает. еще более вероятно, что все можно было реализовать без макросов, только стандартными формулами

 

getNextRand<int>() - откуда это? С какой библиотеки? И чего гугл находит его только в яве?

выше по коду смотри

template <typename T>

T getNextRand(){

return rand()%100 -50;

}


Публикация отключена

Поделиться сообщением


Ссылка на сообщение

Поделиться сообщением


Ссылка на сообщение
(изменено)

Если первый вариант первой не подойдет, то на другой :trollface:

 

template <int _V0, int _V1, int _V2, int _V3, int _V4>

struct CALC_COUNT_POSITIVE_ONLY{

enum : int {

SUM =

( (_V0 > 0) ? 1 : 0) +

( (_V1 > 0) ? 1 : 0) +

( (_V2 > 0) ? 1 : 0) +

( (_V3 > 0) ? 1 : 0) +

( (_V4 > 0) ? 1 : 0)

};

};

template <int _V0, int _V1, int _V2, int _V3, int _V4>

struct CALC_SUM_POSITIVE_ONLY{

enum : int {

SUM =

( (_V0 > 0) ? _V0 : 0) +

( (_V1 > 0) ? _V1 : 0) +

( (_V2 > 0) ? _V2 : 0) +

( (_V3 > 0) ? _V3 : 0) +

( (_V4 > 0) ? _V4 : 0)

};

};

 

int _tmain(int argc, _TCHAR* argv[]) {

const int _sum = CALC_SUM_POSITIVE_ONLY<1,-2,3,4,-5>().SUM;

const int _count = CALC_COUNT_POSITIVE_ONLY<-1,-2,3,4,-5>().SUM;

 

return 0;

}


Изменено пользователем Tinplz

Поделиться сообщением


Ссылка на сообщение

после этого все кто хотел учится кодить на с, начали судорожно качать книжечки по яве

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

это каким надо быть извращенцем, чтобы писать на этом

 

и не надо говорить про скорость

 

скорость нужна разве что в играх

Поделиться сообщением


Ссылка на сообщение

это каким надо быть извращенцем, чтобы писать на этом

Он не весь такой. + этот последний кусок кода считается на этапе компиляции.

Да и после плюсов меня тошнит от всей простоты и ограниченности вашего мэнеджеда. Он мне никогда не дает сделать что я хочу, постоянно налаживая свои конченые ограничения. Сейчас сижу в C# и матерюсь на его генерики, т.к. это жалкое подобие на темплейты.

 

и не надо говорить про скорость

скорость нужна разве что в играх

Ну, назовем это ресурсами. Да и тебе только игры на уме.

Я посмотрю на тебя, когда твой 4-х ядерный телефон будет тебе руки обжигать, когда на нем будет работать хоть одно стоящее приложение написанное на менеджед хуйне.

Поделиться сообщением


Ссылка на сообщение

это каким надо быть извращенцем, чтобы писать на этом

Он не весь такой. + этот последний кусок кода считается на этапе компиляции.

Да и после плюсов меня тошнит от всей простоты и ограниченности вашего мэнеджеда. Он мне никогда не дает сделать что я хочу, постоянно налаживая свои конченые ограничения. Сейчас сижу в C# и матерюсь на его генерики, т.к. это жалкое подобие на темплейты.

 

и не надо говорить про скорость

скорость нужна разве что в играх

Ну, назовем это ресурсами. Да и тебе только игры на уме.

Я посмотрю на тебя, когда твой 4-х ядерный телефон будет тебе руки обжигать, когда на нем будет работать хоть одно стоящее приложение написанное на менеджед хуйне.

а зачем на телефоне приложения?


Публикация отключена

Поделиться сообщением


Ссылка на сообщение
(изменено)

<p>

сижу в C# и матерюсь на его генерики, т.к. это жалкое подобие на темплейты.
http://pastebin.com/FNz76z9n :trollface:

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

+ сейчас в новых плюсах там темплэйты апнули серьезно, скоро вообще жесть будет )

 

темплэйты были изначально задуманы с функциональностью генериков, но на них не выставили ограничения, как делают во всех остальных языках. Вот в 90е народ и нашел им применение поинтереснее))) теперь их и мучают как только хотят. Компилится подольше, конечно - зато рантайм быстрый. Да и статик ассерты не худшая вещь )

 

 

 

это каким надо быть извращенцем, чтобы писать на этом

Он не весь такой. + этот последний кусок кода считается на этапе компиляции.

Да и после плюсов меня тошнит от всей простоты и ограниченности вашего мэнеджеда. Он мне никогда не дает сделать что я хочу, постоянно налаживая свои конченые ограничения. Сейчас сижу в C# и матерюсь на его генерики, т.к. это жалкое подобие на темплейты.

 

и не надо говорить про скорость

скорость нужна разве что в играх

Ну, назовем это ресурсами. Да и тебе только игры на уме.

Я посмотрю на тебя, когда твой 4-х ядерный телефон будет тебе руки обжигать, когда на нем будет работать хоть одно стоящее приложение написанное на менеджед хуйне.

 

 

а зачем на телефоне приложения?

Я даже не знаю что на это ответить. У меня у самого телефон только звонилка. Но только потому что я большинство времени нахожусь рядом с компом.

Те же самые онлайн карты, возможности быстрого анализа поступающей информации. Распознавание образов, речи, 3хмерных объектов - только то что уже есть.

Самый простой пример: Мне намного проще инфу читать, чем слушать. Вот загоняет тебе кто-то хуйню какую-нибудь, ты нажал кнопку - и думай о своем. Потом взял и по дороге, включил фильтр на бесполезную инфу и прочитал в 10 раз быстрее чем выслушивать. Или будешь на клауды все кидать? Ну так, что бы по "защищенному" соединению, ключ на который есть у того кому надо?

 

Да и телефон - это образно. Есть куча других ресурсозависимых ембедед систем.


Изменено пользователем Tinplz

Поделиться сообщением


Ссылка на сообщение

Хорошо, что мы не учили С++ подробно, а остановились на С с классами :trollface:


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

товарищи, я так понял, тут веберов море, поэтому к вам с вопросом - если смотреть в сторону бекэндов, какой язык лучше выбирать и сильно ли Java насасывает в этом направлении?


76561198051636913.png

Поделиться сообщением


Ссылка на сообщение
(изменено)

Хорошо, что мы не учили С++ подробно, а остановились на С с классами :trollface:

Да вы то и С с классами не доучили ))))

Да и С в принципе тоже )))

товарищи, я так понял, тут веберов море, поэтому к вам с вопросом - если смотреть в сторону бекэндов, какой язык лучше выбирать и сильно ли Java насасывает в этом направлении?

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


Изменено пользователем Tinplz

Поделиться сообщением


Ссылка на сообщение

товарищи, я так понял, тут веберов море, поэтому к вам с вопросом - если смотреть в сторону бекэндов, какой язык лучше выбирать и сильно ли Java насасывает в этом направлении?

Вот опять ты вызываешь потоки этого говна, которое сейчас польется в тред на пару страниц.

я ничего не вызываю, просто хочу получить помощи от вас, няши :3

76561198051636913.png

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...