Raize_KZ

Пользователь

Регистрация: 02.06.2015

Сообщения: 149

Рейтинг: 123

Raize_KZ

Регистрация: 02.06.2015

Сообщения: 149

Рейтинг: 123

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

Задание:

Одномерный целочисленный массив состоит из n элементов. n - случайное число в диапазоне ;15;25]

Элементы массива представляют собой случайные числа в диапазоне ;-10;10]

вычислить:

1)минимальный по модулю элемент массива

2)сумму элементов массива, расположенных между первым и последним положительным элементом.

мне нужно просто написать алгоритм из кода с++ на тетради

1)как вычислить минимальный элемент по модулю? я нашел только простой элемент:

min = x [0];

for (i = 0; i < n; i++)

{

if (x [ i ] < min)

min = x [ i ];

}

2)max = 0;

min = 0;

for (i = 0, i < n; i++)

{

if (x [ i ]< min)

min = i;

kmin = i;

}

for (i = 0; i < n; i++)

{

if (x [ i ]> max)

max = i;

kmax = i;

}

дальше тупик, заполните плиз, нужно вычислить сумму элементов

Ведродрель

Пользователь

Регистрация: 30.05.2014

Сообщения: 722

Рейтинг: 348

Ведродрель

Регистрация: 30.05.2014

Сообщения: 722

Рейтинг: 348

Я может че то не понимаю, но есть решение по первой же ссылке в гугле

Спойлер:
       Dim SizeArray, R As New Random         Dim Arr(SizeArray.Next(15, 26)) As Integer         Dim Min As Integer = 10         Dim MinIndex As Integer         Dim Chk As Boolean = False         Dim Summ As Integer = 0         For I As Integer = 0 To Arr.Length - 1             Arr(I) = R.Next(-10, 11)             Label1.Text &= Arr(I) & " "             If Math.Abs(Arr(I)) < Min Then                 Min = Math.Abs(Arr(I))                 MinIndex = I             End If              If Arr(I) < 0 And Chk = False Then Chk = True             If Chk = True Then Summ += Math.Abs(Arr(I))         Next         Label2.Text = "Номер минимального по модулю элемента массива: " & MinIndex         Label3.Text = "Сумма модулей элементов массива, расположенных после первого отрицательного элемента: " & Summ

Aelium

Пользователь

Регистрация: 26.06.2015

Сообщения: 634

Рейтинг: 228

Aelium

Регистрация: 26.06.2015

Сообщения: 634

Рейтинг: 228

1)как вычислить минимальный элемент по модулю? я нашел только простой элемент:

*/

здесь кусок кода где объявляется массив, а так же заполняется случайными числами (если тебя это просят сделать, то я напишу)

*/

int min = x [0];

int abs;

for (i = 1; i < n; i++)

{

if (x<0)

   abs = x*(-1);

else

  abs = x;

if (abs

  min=abs;

}

Martuwa

Пользователь

Регистрация: 21.04.2013

Сообщения: 538

Рейтинг: 935

Martuwa

Регистрация: 21.04.2013

Сообщения: 538

Рейтинг: 935

Поищи в толковом словаре Даля

G1VANSH1

Пользователь

Регистрация: 28.04.2013

Сообщения: 740

Рейтинг: 447

G1VANSH1

Регистрация: 28.04.2013

Сообщения: 740

Рейтинг: 447

2)int first_p=0,last_p=0;

for(i=0;i

if(x>0){

first_p=i;

break;

}

for(i=n-1;i>0;i--)

if(x>0){

last_p=i;

break;

}

int s=0;

for(i=first_p;i

s=s+x;

скобки к иксу не забудь

saw_tooth

Пользователь

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3286

saw_tooth

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3286

в стандартной библиотеке С++ есть функции для работы с елементами коллекций, которые находят маакс/мин и сумму всех, думаю не составит труда отсортить массив, взять срез на нем, и просумировать. если речь идет о чистом С, то там все реализовывается на паре форов

Aelium

Пользователь

Регистрация: 26.06.2015

Сообщения: 634

Рейтинг: 228

Aelium

Регистрация: 26.06.2015

Сообщения: 634

Рейтинг: 228

2)сумму элементов массива, расположенных между первым и последним положительным элементом.

int i=0;

while (x>0)

{

i=i+1;

}

int first = i;

i=length(x);

while(x>0)

{

i=i-1;

}

int last = i;

int sum=0;

for(i=first;i

{

sum = x + sum;

}

Aelium

Пользователь

Регистрация: 26.06.2015

Сообщения: 634

Рейтинг: 228

Aelium

Регистрация: 26.06.2015

Сообщения: 634

Рейтинг: 228

saw_tooth сказал(а):
в стандартной библиотеке С++ есть функции для работы с елементами коллекций, которые находят маакс/мин и сумму всех, думаю не составит труда отсортить массив, взять срез на нем, и просумировать. если речь идет о чистом С, то там все реализовывается на паре форов
Нажмите, чтобы раскрыть...

когда задают алгоритмические задачки офк нельзя пользоваться встроенным сортом, хочет сортировать, пиши алгоритм

Aelium

Пользователь

Регистрация: 26.06.2015

Сообщения: 634

Рейтинг: 228

Aelium

Регистрация: 26.06.2015

Сообщения: 634

Рейтинг: 228

мда, кароче на форуме нельзя писать x квадратная скобка i квадратная скобка

Aelium

Пользователь

Регистрация: 26.06.2015

Сообщения: 634

Рейтинг: 228

Aelium

Регистрация: 26.06.2015

Сообщения: 634

Рейтинг: 228

в моих сообщениях замени x на x [ i ] , кроме момента length ( x ) <- верно

NaVi_Ec1ipse

Пользователь

Регистрация: 28.12.2013

Сообщения: 398

Рейтинг: 425

NaVi_Ec1ipse

Регистрация: 28.12.2013

Сообщения: 398

Рейтинг: 425

почитал ваши комменты и задался вопросом:тяжело учиться на программиста?

Raize_KZ

Пользователь

Регистрация: 02.06.2015

Сообщения: 149

Рейтинг: 123

Raize_KZ

Регистрация: 02.06.2015

Сообщения: 149

Рейтинг: 123

img
G1VANSH1 сказал(а):
2)int first_p=0,last_p=0;

for(i=0;i

if(x>0){

first_p=i;

break;

}

for(i=n-1;i>0;i--)

if(x>0){

last_p=i;

break;

}

int s=0;

for(i=first_p;i

s=s+x;

скобки к иксу не забудь
Нажмите, чтобы раскрыть...

я так писал и показывал ему это, он говорит нужно вместо нулей написать min и max, и break вообще не нужны, далее говорит что код про сумму не правильный и я ничего не понимаю

он объяснял что типа допустим есть массив x из 10 элементов от 0 до 9, мин элемент 8-ой по счету, а максэлемент 2-ой по счету, и типа нужно начинать считать от макс до мин суммы и вычислить их общую сумму, как я понял это макс+мин что-то вроде этого, бля я не понимаю цццццццццц

nubideus

Пользователь

Регистрация: 27.02.2015

Сообщения: 6383

Рейтинг: 2480

nubideus

Регистрация: 27.02.2015

Сообщения: 6383

Рейтинг: 2480

Ведродрель сказал(а):
Я может че то не понимаю
Нажмите, чтобы раскрыть...

у тебя не с++

Aelium

Пользователь

Регистрация: 26.06.2015

Сообщения: 634

Рейтинг: 228

Aelium

Регистрация: 26.06.2015

Сообщения: 634

Рейтинг: 228

nubideus сказал(а):
у тебя не с++
Нажмите, чтобы раскрыть...

а не, не так понял, там реально не плюсы, там пхп

esper369

Пользователь

Регистрация: 20.02.2013

Сообщения: 8159

Рейтинг: 3171

esper369

Регистрация: 20.02.2013

Сообщения: 8159

Рейтинг: 3171

Raize_KZ сказал(а):
Помогите пожалуйста. Я настолько тупой что преподаватель дал мне билет с экзаменационным вопросом, я хочу к нему уже неделю и никак не могу сдать его(кек).

Задание:

Одномерный целочисленный массив состоит из n элементов. n - случайное число в диапазоне ;15;25]

Элементы массива представляют собой случайные числа в диапазоне ;-10;10]

вычислить:

1)минимальный по модулю элемент массива

2)сумму элементов массива, расположенных между первым и последним положительным элементом.

мне нужно просто написать алгоритм из кода с++ на тетради

1)как вычислить минимальный элемент по модулю? я нашел только простой элемент:

min = x [0];

for (i = 0; i < n; i++)

{

if (x [ i ] < min)

min = x [ i ];

}

2)max = 0;

min = 0;

for (i = 0, i < n; i++)

{

if (x [ i ]< min)

min = i;

kmin = i;

}

for (i = 0; i < n; i++)

{

if (x [ i ]> max)

max = i;

kmax = i;

}

дальше тупик, заполните плиз, нужно вычислить сумму элементов
Нажмите, чтобы раскрыть...

идешь на геймдев, предлагаешь там 100р за решение задачки

...

профит

Karys

Пользователь

Регистрация: 29.05.2014

Сообщения: 1669

Рейтинг: 869

Karys

Регистрация: 29.05.2014

Сообщения: 1669

Рейтинг: 869

NaVi_Ec1ipse сказал(а):
почитал ваши комменты и задался вопросом:тяжело учиться на программиста?
Нажмите, чтобы раскрыть...

Не тяжело, если ты не гуманитарий. Но вот зачем пасанов с++ обучают я хз

AnnoyOrang

Пользователь

Регистрация: 26.05.2014

Сообщения: 282

Рейтинг: 174

AnnoyOrang

Регистрация: 26.05.2014

Сообщения: 282

Рейтинг: 174

Raize_KZ сказал(а):
я так писал и показывал ему это, он говорит нужно вместо нулей написать min и max, и break вообще не нужны, далее говорит что код про сумму не правильный и я ничего не понимаю
Нажмите, чтобы раскрыть...

может условие не то взял?

А то дальше пишешь объяснение вообще к левой задаче.

AnnoyOrang

Пользователь

Регистрация: 26.05.2014

Сообщения: 282

Рейтинг: 174

AnnoyOrang

Регистрация: 26.05.2014

Сообщения: 282

Рейтинг: 174

Karys сказал(а):
Но вот зачем пасанов с++ обучают я хз
Нажмите, чтобы раскрыть...

а чему надо?

NaVi_Ec1ipse

Пользователь

Регистрация: 28.12.2013

Сообщения: 398

Рейтинг: 425

NaVi_Ec1ipse

Регистрация: 28.12.2013

Сообщения: 398

Рейтинг: 425

Karys сказал(а):
Не тяжело, если ты не гуманитарий. Но вот зачем пасанов с++ обучают я хз
Нажмите, чтобы раскрыть...
а если киберспортивный склад ума?

Karys

Пользователь

Регистрация: 29.05.2014

Сообщения: 1669

Рейтинг: 869

Karys

Регистрация: 29.05.2014

Сообщения: 1669

Рейтинг: 869

NaVi_Ec1ipse сказал(а):
а если киберспортивный склад ума?
Нажмите, чтобы раскрыть...

То будешь побеждать

Raize_KZ

Пользователь

Регистрация: 02.06.2015

Сообщения: 149

Рейтинг: 123

Raize_KZ

Регистрация: 02.06.2015

Сообщения: 149

Рейтинг: 123

img
AnnoyOrang сказал(а):
может условие не то взял?

А то дальше пишешь объяснение вообще к левой задаче.
Нажмите, чтобы раскрыть...

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

я написал так:

for (i=0, i

{

if (kmin+kmax)

s=k[ i ];

}

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

-Rebellion-

Пользователь

Регистрация: 13.07.2015

Сообщения: 3128

Рейтинг: 1466

-Rebellion-

Регистрация: 13.07.2015

Сообщения: 3128

Рейтинг: 1466

Raize_KZ сказал(а):
Помогите пожалуйста. Я настолько тупой что преподаватель дал мне билет с экзаменационным вопросом, я хочу к нему уже неделю и никак не могу сдать его(кек).

Задание:

Одномерный целочисленный массив состоит из n элементов. n - случайное число в диапазоне ;15;25]

Элементы массива представляют собой случайные числа в диапазоне ;-10;10]

вычислить:

1)минимальный по модулю элемент массива

2)сумму элементов массива, расположенных между первым и последним положительным элементом.

мне нужно просто написать алгоритм из кода с++ на тетради

1)как вычислить минимальный элемент по модулю? я нашел только простой элемент:

min = x [0];

for (i = 0; i < n; i++)

{

if (x [ i ] < min)

min = x [ i ];

}

2)max = 0;

min = 0;

for (i = 0, i < n; i++)

{

if (x [ i ]< min)

min = i;

kmin = i;

}

for (i = 0; i < n; i++)

{

if (x [ i ]> max)

max = i;

kmax = i;

}

дальше тупик, заполните плиз, нужно вычислить сумму элементов
Нажмите, чтобы раскрыть...

напишу набросок-алгоритм пиши сам ибо быдлокодеры не нужны

n=rand <10 -> 25) знаешь же как распиисывается через суму a+%b  а старт   b-сдвиг+1 помоему

в цикл вбил i  тогда n= аналогично для n=... ток цифры иные

модуль:понтанись не юзая fabs или abs и сделай свой вычислитель модуля через "если ...>0 то тото иначе *-1  (офк думай сам над костылем с 0 ты ж погремист))))"

сумма элементов изи вычисляешь вбиваешь значение в отрезок  от a до b    ((  [a,b] ))

дальше элементарно складываешь по ограничению)

з.ы. это элементарные задачи гугли пока можешь на 2+ курсе будет такая ахинея что за нее 600 порой 1 500 / задачу просят в трущобах не говоря уже о норм городах

Karys сказал(а):
Не тяжело, если ты не гуманитарий. Но вот зачем пасанов с++ обучают я хз
Нажмите, чтобы раскрыть...

что бы с убогих крестов не было шансов пересесть на иные языки без казусов и поэтому сынки тех кто рулит программой обучения изи сеньоры в 20лет а ты джуниор до 40 лет даже если отрастишь бороду и не будешь мыться

saw_tooth

Пользователь

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3286

saw_tooth

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3286

Karys сказал(а):
Не тяжело, если ты не гуманитарий. Но вот зачем пасанов с++ обучают я хз
Нажмите, чтобы раскрыть...

По той же причине зачем и учатся считать

Raize_KZ

Пользователь

Регистрация: 02.06.2015

Сообщения: 149

Рейтинг: 123

Raize_KZ

Регистрация: 02.06.2015

Сообщения: 149

Рейтинг: 123

img
-Rebellion- сказал(а):
напишу набросок-алгоритм пиши сам ибо быдлокодеры не нужны

n=rand <10 -> 25) знаешь же как распиисывается через суму a+%b  а старт   b-сдвиг+1 помоему

в цикл вбил i  тогда n= аналогично для n=... ток цифры иные

модуль:понтанись не юзая fabs или abs и сделай свой вычислитель модуля через "если ...>0 то тото иначе *-1  (офк думай сам над костылем с 0 ты ж погремист))))"

сумма элементов изи вычисляешь вбиваешь значение в отрезок  от a до b    ((  [a,b] ))

дальше элементарно складываешь по ограничению)

з.ы. это элементарные задачи гугли пока можешь на 2+ курсе будет такая ахинея что за нее 600 порой 1 500 / задачу просят в трущобах не говоря уже о норм городах
Нажмите, чтобы раскрыть...

лол я не учусь на программиста, но у меня есть эта дисциплина, я нифига не понял что ты написал))

nanoivang

Пользователь

Регистрация: 27.12.2012

Сообщения: 140

Рейтинг: 31

nanoivang

Регистрация: 27.12.2012

Сообщения: 140

Рейтинг: 31

тебе надо найти сумму элементов массива.

Вот массив: -1, 2, 3 ,4 , 5, 6, 7, 8, 9, -1

2 - первый положительный, 9 - последний положительный.

Все что между ними суммировать.

for(i = indexmin; i < indexmax; i++) // indexmin - индекс первого, indexmax - индекс последнего.

S += A[ i ]; // сумма