С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Найти в массиве минимальный и максимальный элементы. Вывести последовательность значений из этого диапазона, не встречающихся в данном массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнить нулями элементы квадратной матрицы, расположенными по её периметру http://www.cyberforum.ru/cpp-beginners/thread587172.html
Заполнить нулями элементы квадратной матрицы, расположенными по её периметру. Нужно написать, используя функции. Кто может помочь?
C++ Базовый контейнер по умолчанию Собственно, в чем смысл указывания базового контейнера по умолчанию для контейнеров STL? В чем будет отличия этого объявленияpriority_queue<int, deque<int>, greater<int> > numbersот етого... http://www.cyberforum.ru/cpp-beginners/thread587164.html
C++ протестировать методы класса
У меня есть класс "вектор". В нём добавила метод, который вычисляет длину вектора и перегрузила функции +,-,=. Нужно протестировать все методы класса. Помогите, пожалуйста, я не совсем понимаю как...
C++ Дано вещественное число А
Дано вещественное число А. Найти среди чисел 1, 1+1/2, 1+1/2+1/3+... первое число, большее А Плиз помогите катастрофически не успеваю...
C++ Организовать ввод трех чисел, первое из которых является наибольшим общим делителем двух последних http://www.cyberforum.ru/cpp-beginners/thread587148.html
1)Организовать ввод трех чисел, первое из которых является наибольшим общим делителем двух последних. 2)У заданного натурального числа найти среднее арифметическое его цифр. В с++ Помогите...
C++ Дайте пожалуйста ссылку на сайт с командами Помогите вспомнить на сайт с командами и функциями для С++, точно не помню на кажется эта страница была на сайте Microsoft, но что то не нашел её там подробнее

Показать сообщение отдельно
Shman
3 / 3 / 2
Регистрация: 30.04.2012
Сообщений: 212
26.05.2012, 17:28  [ТС]
Пытался что-то придумать без сортировки, но не работает . Помогите исправить код. Ручной ввод массива временно отключил.

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
#include <stdio.h>
#include <conio.h> 
 
const int N = 5;
int main()
{     
 int 
 mass[N]={8, 6, 9, 2, 4,}; 
 int i, j, min, max, buffer; 
 bool FlagOk, Flag;
 
 /* printf(" Vvedite massiv iz 5 elementov: \n");
 
   for (i=0; i<N; i++) 
   { printf(" Vvedite element[%d]: ", i);
     scanf("%d", &mass[i]); } 
 */
 
  printf("\n Ishodniy massiv: "); 
  for (int i=0; i<N; i++)
  { printf("%d. ", mass[i]); } 
 
  Flag=false; // Устанавливаем флаг на ложь.
  min=0; max=0; // Обнуляем минимальное и максимальное значения.
 
  /* Нахождение минимального и максимального элементов */
  for(i=1; i<N; i++) 
   { if(mass[i] < mass[min])  // Если следущий элемент меньше минимального, то...
      { min=i; } // назначаем его минимальным.
     if(mass[i] > mass[max])  // Если следущий элемент больше максимального, то...   
      { max=i; } // назначаем его минимальным.
   }
  printf("\n \n Min element = %d.", mass[min]); // Выводим минимальный элемент.
  printf("\n \n Max element = %d.", mass[max]); // Выводим максимальный элемент.
 
  /* Поиск целых чисел между мин. и макс. элементами, которых нет в массиве */
  Flag=false; // Отмечаем, что искомые числа пока не найдены.
  for (i=mass[min]+1; i<mass[max]-1; i++) /*  Т.к. мин. и макс. элементы по условию 
                                              не должны принадлежать промежутку, 
                                              то и цикл начинается с числа больше 
                                              минимального на 1 и заканчивается 
                                              числом меньшим максимального на 1.
                                           */
   { FlagOk=true; // Предполагать, что текущее целое число будет одним из искомых.
     for(j=1; j<N; j++)
      { if (mass[j]=i) /*  Проверяеть есть ли среди элементов данного массива элемент, 
                           равный предполагаемому. Если равный есть, то... 
                       */
       { FlagOk = false; // значит, что число не является искомым и...
         break; } // цикл проверки данного числа прекратить и перейти к следующему числу.         
       if ((Flag = false) && (FlagOk)) /* Если же равный элемент в массиве не был найден, 
                                          и такой элемент оказался первым найденным, тогда...
                                       */                                       
        { Flag = true; // Отмечается, что хотя бы одно число уже найдено.
        printf("\n \n Celye chisla meghdu min & max elem. kotoryh net v massive: "); } /* Ввыести
                                 целые числа между мин. и макс элементами, которых нет в массиве. */                                         
       if (FlagOk) // Если же равный элемент не был найден в данном массива, тогда...
        { printf(" %d.", i); } // вывести это число.
      }
   }
   if (Flag=false) // Если же ни одного искомого числа не было найдено, тогда...   
    { printf("\n \n Celye chisel megdu min. & max. elem. massiva net"); } /* вывести
                     сообщение, что чисел между мин. и макс.  элементами массива нет. */
  
 getch(); 
 return 0; 
}
Мин и макс число находит и выводит, а дельше никак . ПОМОГИТЕ НАЙТИ ОШИБКУ!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.