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

Найти номер элемента массива модуль разности справа от которого наименьший - C++

Восстановить пароль Регистрация
 
Алексей1
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 1
12.05.2014, 15:24     Найти номер элемента массива модуль разности справа от которого наименьший #1
ввести массив чисел без знака, количество которых заранее неизвестно.Ввод массива заканчивается вводом числа, уже имеющегося в массиве. Найти номер элемента массива модуль разности справа от которого наименьший.Значение элемента с этим номером при суммировании не учитывается.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <stdlib.h>
 
int main()
{
bool h = false, t = false;
int *mass;
int size, max, min, l, k, y, i = 0, j = 0;
mass = (int*)malloc(size* sizeof(int));
for (i = 0; i<size; i++,size++)
    {
    if (i >= j)
        {
        h = false;
            while (h == false)
            {
            cout<<"iliment massiva " <<endl;
            cin >>mass[i];
                    if (mass[i] >= 0)
                    {
                    h = true;
                    }
                    else
               cout << "ilimentom massiva doljno byt' chislo bez znaka" << endl;
         }
    }
                if (i > 0)
                {
                j = 0;
                t = false;
                while (t == false)
                    {
                    if (i == j)
                    t = true;
                    else if (mass[i] == mass[j])
                        {
                  t = true;
                        break;
                        }
                    else
                j++;
                }
                    }
    if (mass[i] == mass[j] && i>j)
    break;
    }
----------(как можно сделать эту часть по другому?) 
max = i;
if (i > 1)
{
 
for (i = 0; i < max; i++)
{
k = 0;
l = 0;
for (j = 0; j < i; j++)
k = k + mass[j];
for (j = i + 1; j <= max; j++)
l = l + mass[j];
if (abs(k - l) < y)
{
y = abs(k - l);
min = i;
}
}
cout <<"nomer ilimenta: \n"<<min<<endl;
}
else
cout <<"1 iliment raven 2, oshibka" <<endl;
getch();
}
Добавлено через 14 часов 47 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <stdlib.h>
#include <string.h>
 
int main(void)
{
    int *p=NULL;
    int i=0,j=0;
    int   m,z=0;
do
    {
 
       p = (int*)realloc(p, sizeof(p) + sizeof(int));
 
        printf("\nVvedite chislo  ");
        scanf("%d",&m);
        p[i]=m;
 
        while(j<i)
        {   j=0;
 
                if(p[i]=p[j]){
             break; }
             else j++;
 
        }
 
        i++;
 
 
    }
    while ( p[i]!=p[j] );
}
Найдите ошибку пожалуйста, то что-то не догоняю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2014, 15:24     Найти номер элемента массива модуль разности справа от которого наименьший
Посмотрите здесь:

Найти наименьший номер члена последовательности, для которого выполняется условие |an-an-1|< ε C++
C++ Найти номер элемента, значение которого близко к среднему значению массива
Найти номер элемента из массива А, с которого массив В начинается как подпоследовательность C++
Найти номер элемента из массива А, с которого массив В начинается как подпоследовательность C++
C++ Найти наименьший номер члена последовательности, для которого выполняется условие |an-an-1|< ε
C++ Найти наименьший номер элемента последовательно-сти, для которого выполняется условие
Найти наименьший номер элемента последовательности,для которого выполняется условие М. C++
C++ Найти 2 элемента массива, модуль разности которых имеет наибольшее значение

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 20:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru