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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
cheser
0 / 0 / 0
Регистрация: 14.01.2010
Сообщений: 42
#1

Дан массив A(N) - C++

31.10.2011, 19:13. Просмотров 846. Ответов 18
Метки нет (Все метки)

помогите пожалуйста.
Дан массив A(N) найти пару соседних элементов наиболее близко расположенных друг к другу . Мера близости R = |A[i+1]-[i] |
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2011, 19:13     Дан массив A(N)
Посмотрите здесь:

Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. - C++
Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. Посмотрите пожалуйста... ...

Дан массив. Записать во второй массив все элементы, не совпадающие с минимальным - C++
Дан массив M(14).Записать в массив B все элементы , не совпадающие с минимальным. Cоставить блок схему программы

Дан массив. Создать массив 2 из четных чисел первого массива - C++
Задача: Дан массив. Создать новый массив из чётных чисел исходного массива. #endif #include <stdio.h> #include <iostream.h> ...

Дан массив A(23). Переписать в новый массив все элементы, расположенные после последнего отрицательного. - C++
Задача Дан массив A(23). Переписать в новый массив все элементы, расположенные после последнего отрицательного. В новом массиве...

Дан массив A(N). Сформулировать массив B(M), элементами которого являются большие из двух рядом стоящих в массиве A чисел - C++
Нужен код программы. Помогите даме пожалуйста.

Дан массив Z(15). Сформировать массив В следующим образом - C++
Дан массив Z(15). Сформировать массив В следующим образом. Если положительных элементов в массиве Z больше, чем отрицательных, то...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
5476 / 1842 / 343
Регистрация: 10.12.2010
Сообщений: 5,434
Записей в блоге: 3
31.10.2011, 20:58     Дан массив A(N) #2
Помогаю. Очевидно ли вам, что это задача на своеобразный поиск минимума?
cheser
0 / 0 / 0
Регистрация: 14.01.2010
Сообщений: 42
01.11.2011, 19:13  [ТС]     Дан массив A(N) #3
Цитата Сообщение от Predator_2004 Посмотреть сообщение
Очевидно ли вам, что это задача на своеобразный поиск минимума?
ээээ нет....
а оно так?

Добавлено через 2 минуты
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <math.h>
#include <conio.h>
 
void main()
{
 int ar[], r, i;
  for (i=1, ar[]<i,)
   {
    scanf ("%f" &ar[N]);
    r= abs(ar[1]-ar[2]);
   }
    for (i=2, ar[N-1])
    {
     if (abs(a[i+1]-a[i]) < r) then
     r= abs(a[i+1]-a[i]);
    }
}

что то типа такого? потому что?

З.Ы. me gusta!) ваще туплю и много знаю что ошибок
Сыроежка
Заблокирован
01.11.2011, 19:15     Дан массив A(N) #4
Цитата Сообщение от cheser Посмотреть сообщение
помогите пожалуйста.
Дан массив A(N) найти пару соседних элементов наиболее близко расположенных друг к другу . Мера близости R = |A[i+1]-[i] |
В С++ есть такой стандартный алгоритм, кеоторый называется std::adjacent_find, и который выполняет вашу задачу в одну строчку!
cheser
0 / 0 / 0
Регистрация: 14.01.2010
Сообщений: 42
01.11.2011, 19:17  [ТС]     Дан массив A(N) #5
Цитата Сообщение от Сыроежка Посмотреть сообщение
В С++ есть такой стандартный алгоритм, кеоторый называется std::adjacent_find, и который выполняет вашу задачу в одну строчку!
друг я тебе верю тока как это понять тогда и есть ли она в Turbo C если честно я полный нуб и С тока проходим...
Сыроежка
Заблокирован
01.11.2011, 19:21     Дан массив A(N) #6
Цитата Сообщение от cheser Посмотреть сообщение
друг я тебе верю тока как это понять тогда и есть ли она в Turbo C если честно я полный нуб и С тока проходим...
ТОгда тебе самому придется писать этот алгоритм! В цикле сравниваешь два соседних элемента массива в соответсвии с заданным условием. Если условие выполняется, выходишь из цикла.
cheser
0 / 0 / 0
Регистрация: 14.01.2010
Сообщений: 42
01.11.2011, 19:22  [ТС]     Дан массив A(N) #7
Цитата Сообщение от Сыроежка Посмотреть сообщение
ТОгда тебе самому придется писать этот алгоритм! В цикле сравниваешь два соседних элемента массива в соответсвии с заданным условием. Если условие выполняется, выходишь из цикла.
дык тогда я правильно написал примерно или нет? или ваще не туда пошел?
Сыроежка
Заблокирован
01.11.2011, 19:27     Дан массив A(N) #8
Цитата Сообщение от cheser Посмотреть сообщение
ээээ нет....
а оно так?

Добавлено через 2 минуты
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <math.h>
#include <conio.h>
 
void main()
{
 int ar[], r, i;
  for (i=1, ar[]<i,)
   {
    scanf ("%f" &ar[N]);
    r= abs(ar[1]-ar[2]);
   }
    for (i=2, ar[N-1])
    {
     if (abs(a[i+1]-a[i]) < r) then
     r= abs(a[i+1]-a[i]);
    }
}

что то типа такого? потому что?

З.Ы. me gusta!) ваще туплю и много знаю что ошибок
Во-первых, массив ar[] объявляется как целочисленный, а ввести в него пытаетесь значения типа float.
Цикл для ввода вообще некорректно написан.
cheser
0 / 0 / 0
Регистрация: 14.01.2010
Сообщений: 42
01.11.2011, 19:31  [ТС]     Дан массив A(N) #9
Цитата Сообщение от Сыроежка Посмотреть сообщение
Во-первых, массив ar[] объявляется как целочисленный, а ввести в него пытаетесь значения типа float.
Цикл для ввода вообще некорректно написан.
это в scanf??? %f , а надо %i

Добавлено через 2 минуты
+ ща заметил что N не объявлена как переменная и думаю что она и не понадобится т.к. его заменю на i
HighPredator
5476 / 1842 / 343
Регистрация: 10.12.2010
Сообщений: 5,434
Записей в блоге: 3
01.11.2011, 19:33     Дан массив A(N) #10
Цитата Сообщение от Сыроежка Посмотреть сообщение
В С++ есть такой стандартный алгоритм, кеоторый называется std::adjacent_find, и который выполняет вашу задачу в одну строчку!
Если мне не изменяет память, adjacent_find ищет первую пару одинаковых соседних элементов из диапазона итераторов. А это не то.

Цитата Сообщение от cheser Посмотреть сообщение
наиболее близко расположенных друг к другу
это означает, что значение R в вашей формуле должно быть минимальным. То есть нужно перебрать все пары i,i+1 определить для них R, и для минимального вывести элементы на экран. Вроде как мог разжевал.
cheser
0 / 0 / 0
Регистрация: 14.01.2010
Сообщений: 42
01.11.2011, 19:39  [ТС]     Дан массив A(N) #11
Цитата Сообщение от Predator_2004 Посмотреть сообщение
это означает, что значение R в вашей формуле должно быть минимальным. То есть нужно перебрать все пары i,i+1 определить для них R, и для минимального вывести элементы на экран. Вроде как мог разжевал.
то бишь мне нужно что то тика такого:
C
1
2
3
4
5
6
7
min=R;
R=i+1;
for (i=2, i<=ar[], i++)
 {
if (R < min) min=R
R++
 }
я понятно понял?
Сыроежка
Заблокирован
01.11.2011, 19:40     Дан массив A(N) #12
Цитата Сообщение от Predator_2004 Посмотреть сообщение
Если мне не изменяет память, adjacent_find ищет первую пару одинаковых соседних элементов из диапазона итераторов. А это не то.
Невнимательно прочитал. Я думал найти первую пару, удовлетворяющую заданному условию.
Значит тиогда построить вектор из значений условий для элементов, а затем найти минимальное значение.
HighPredator
5476 / 1842 / 343
Регистрация: 10.12.2010
Сообщений: 5,434
Записей в блоге: 3
01.11.2011, 19:46     Дан массив A(N) #13
Цитата Сообщение от cheser Посмотреть сообщение
я понятно понял?
Не знаю, что вы там поняли. Давайте разберем ваш код.
Цитата Сообщение от cheser Посмотреть сообщение
C
1
2
3
4
5
6
7
min=R;
R=i+1;
for (i=2, i<=ar[], i++)
*{
if (R < min) min=R
R++
*}
Начнем с явного. Для каждой пары R различно. У вас R задано вообще вне цикла, соответственно от индекса не зависит. Второе, видите ли вы сходство между формулой из условия и тем, что в коде? Я - нет. Остальное типа точек с запятой, организацию цикла и пр. пока опущу.
cheser
0 / 0 / 0
Регистрация: 14.01.2010
Сообщений: 42
01.11.2011, 20:07  [ТС]     Дан массив A(N) #14
ааа я тут сравнивать начал(точнее все элементы с минимальным), мне тока 1 строчка подходит а после if выполняю мое условие r= abs(a[i+1]-a[i]);

Добавлено через 2 минуты
я ar не дописываю пишу а

Добавлено через 12 минут
подвожу итог рассуждений:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <math.h>
#include <conio.h>
 
void main()
{
 int ar[], i, a, *r, *min;
 r=a;
  for (i=1, ar[i]<i,i++)
   scanf ("%i", r++);
    min=a;
    r=a+1;
     for (i=2, 1<=ar[i], i++)
    {
     if (r<min) 
      r= abs(ar[i+1]-ar[i]);
       printf("%i", r);
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2011, 20:20     Дан массив A(N)
Еще ссылки по теме:

дан массив. Если ввести 2 целых числа, то массив в диапазоне между этими числами приобретет максимальное значение массива - C++
дан массив. Если ввести 2 целых числа, то массив в диапазоне между этими числами приобретет максимальное значение массива. Как найти...

Дан массив А[13], переписать его в массив B - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; using namespace std; int main() { int i, n, count=0, a, b; ...

Дан массив - C++
Помогите вот с этой задачей пожалуйста дан массив 5на6 в каждой строчке нужно найти максимальный элемент и заменить его на...

Дан массив M на N..... - C++
Здравствуйте!!!Хочу попросить вас помочь мне ,если не сложно, с одной задачкой!!! Дан массив M на N:а)уменьшить все положительные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
HighPredator
5476 / 1842 / 343
Регистрация: 10.12.2010
Сообщений: 5,434
Записей в блоге: 3
01.11.2011, 20:20     Дан массив A(N) #15
Цитата Сообщение от cheser Посмотреть сообщение
подвожу итог рассуждений:
У вас вообще компилятор есть, или вы так кодите? В общем итог неутешительный.
Yandex
Объявления
01.11.2011, 20:20     Дан массив A(N)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru