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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 61, средняя оценка - 4.89
girlsbest
0 / 0 / 0
Регистрация: 27.10.2008
Сообщений: 14
#1

Определить, какое из чисел встречается в массиве чаще всего - C++

27.10.2008, 19:48. Просмотров 7531. Ответов 2
Метки нет (Все метки)

8. Элементы массива расположить в обратном порядке, не используя дополнительный массив. Написать программу, в которой исходный массив заполнить случайным образом элементами в пределах от 101 до 200. Вывести на экран элементы исходного и полученного массивов.
9. Написать фрагмент программы для определения, какое из чисел встречается в массиве чаще всего.
10. Написать рекурсивную функцию поиска элемента в упорядоченном по убыванию массиве.
плиз...очень нужно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2008, 19:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, какое из чисел встречается в массиве чаще всего (C++):

Определить какое из чисел встречается в массиве чаще - C++
Помогите написать код. Проверить есть ли в массиве А числа В и С и определить, какое из чисел встречается в массиве чаще

Проверить, есть ли в массиве А [n] числа В и С и определить, какое из чисел встречается в массиве чаще - C++
1. Проверить, есть ли в массиве А числа В и С и определить, какое из чисел встречается в массиве чаще.

Определить какое слово в строке встречается чаще всего - C++
ребят,помогите.Для Вас же это как семечки 1. Определить какое слово в строке встречается чаще всего 2. Подсчитать количество букв а...

Определить, какое слово встречается в строке чаще всего - C++
1. Определить какое слово встречается в строке чаще всего. можно с пояснениями если не сложно

Определить, какое слово встречается в строке чаще всего - C++
Задана строка, которая состоит из символов. Символы сочетают в слова. Слова отделяются одним или несколькими пробелами. В конце текста...

Определить, какое абсолютное значение встречается в массиве чаще остальных - C++
Определить, какое абсолютное значение встречается в массиве чаще остальных Размерность массива=200 Диапазон значений от -50 до 50

2
Duby
31.10.2008, 04:00 #2
8. Элементы массива расположить в обратном порядке, не используя дополнительный массив. Написать программу, в которой исходный массив заполнить случайным образом элементами в пределах от 101 до 200. Вывести на экран элементы исходного и полученного массивов.
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream.h>
#include <conio.h>
#define MAX_ARR 100
 
void main(){
  int array[MAX_ARR],i,itmp; 
  clrscr();
  randomize(); //initial randomizer
 
  cout<<"Source array with randomize numbers from 101 to 200:"<<endl;
  // Put random numbers to array and print them
  for (i=0;i<MAX_ARR;i++) cout<< (array[i]=101+random(100)) << " ,";
  cout<<endl;
 
  // reverse - exchange first and last elements of array
  for (i=0;i<(MAX_ARR/2);i++){
    itmp=array[i];
    array[i]=array[MAX_ARR-1-i];
    array[MAX_ARR-1-i]=itmp;
  };
 
  cout<<"Reversed source array:"<<endl;
  // print target array
  for (i=0;i<MAX_ARR;i++) cout<< array[i] << " ,";
  cout<<endl;
 
  if (getch()==0) getch();
}
Inlight
43 / 42 / 2
Регистрация: 17.09.2008
Сообщений: 98
31.10.2008, 14:02 #3
Немного переделал код Duby под VS 2008. Функция ищет методом двоичного поиска. Поиск наиболее часто встречающегося элемента немного коряво реализован, зато работает Жаль, что нельзя использовать сортировку подсчётом (там доп. массивы нужны) - было бы красивее.
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
75
76
77
78
79
80
81
82
83
84
#include <iostream>
#include <conio.h>
#include <time.h>
 
using namespace std;
 
#define MAX 100
 
int searchBinary(int* inArray, int e, int l, int r);
 
void main()
{
    int arrayOfNumbers[MAX];
    int tmp, searchingNumber, pos;
    int i, j, num = 0, buf = 0, a = 0, b = 0;
    srand(time(0)); //initial randomizer
    cout << "Source array with randomize numbers from 101 to 200:" << endl;
    // Put random numbers to array and print them
    for (int i = 0; i < MAX; i++) {
      cout << (arrayOfNumbers[i] = 101+rand()%100) << " ";
    }
    cout << endl;
    // просматриваем элемент от начала до конца, массив начинается с 0
    for (i = 0; i < MAX-1; i++) {
        // просматриваем массив со следующего от текущего положения элемента
        for (j = i+1; j < MAX; j++) {
            // если левый элемент меньше чем правый, то меняем их местами
            // т.о. меньшие элементы всплывают к концу массива
            if (arrayOfNumbers[i] < arrayOfNumbers[j]) {
                tmp = arrayOfNumbers[i];
                arrayOfNumbers[i] = arrayOfNumbers[j];
                arrayOfNumbers[j] = tmp;        
            }
        }
        if (arrayOfNumbers[i] != buf) {
            buf = arrayOfNumbers[i];
            b = 1;
        }
        else {
            b++;
            if (b > a) {
                num = buf;
                a = b;
            }
        }
        
    }
    cout << "Number " << num << " meets " << a << " times" << endl << endl <<
        "Reversed source array:" << endl;
    // print target array
    for (i=0; i < MAX; i++) {
        cout << arrayOfNumbers[i] << " ";
    }
    cout << endl << endl << "Search number: ";
    cin >> searchingNumber;
    cout << endl;
    pos = searchBinary(arrayOfNumbers, searchingNumber, 0, MAX-1);
    pos != -1 ? cout << "Find in position " << pos+1 : cout << "Not find.";
    _getch();
}
 
int searchBinary(int* inArray, int e, int head, int tail)
{   //inArray – массив, е – эталон поиска, 
    //head, tail – левая и правая границы подмассива, в котором производится поиск
    //Функция возвращает позицию найденного элемента (нумерация от 0) или -1 }
    int currPos = -1;
    if ((tail == head) && (inArray[tail] != e )) {
        return -1;
    }
    else {
           currPos = (head+tail)/2;
           if (e == inArray[currPos]) {
               return currPos;
           }
           else {
               if (e > inArray[currPos]) {
                   currPos = searchBinary(inArray, e, head, currPos);
               }
               else {
                   currPos = searchBinary(inArray, e, currPos+1, tail);
               }
           }
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2008, 14:02
Привет! Вот еще темы с ответами:

Определить модуль какого из двух чисел встречается в числовом массиве чаще - C++
Помогите пожалуйста решить 2 задачи на c++. 1.Необходимо составить алгоритм,который определяет ,модуль какого из двух данных чисел a или...

Определить какая согласная чаще всего встречается - C++
введено предложение произвольной длины, определить, какая согласная чаще всего встречается в нем

Определить какая буква чаще всего встречается в текстовом файле - C++
Определить какая буква чаще всего встречается в текстовом файле

Определить какой знак препинания(-,.:) встречается в строке чаще всего - C++
Как решать, нашел на символы, но не на знаки препинания. Помогите плиз. #include &lt;iostream&gt; #include &lt;string&gt; using namespace std;...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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