Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 12
1

Оформить программу в виде функций обработки массивов (ввод, заполнение, вывод, упорядочение и т.п.)

02.12.2014, 12:16. Просмотров 885. Ответов 2
Метки нет (Все метки)

помогите, пожалуйста, с программой, не могу никак разобраться с функциями, сколько уже отмучалась с ними! вот я тут что-то мутила с программой:
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <conio.h>
#include <iostream>
#include <math.h>
#include<stdlib.h>
using namespace std;
 
void s1(int n, int ** mas)
{
    for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++)
        cin >> mas[i][j];
}
 
void s2(int n, int ** mas)
{
    for (int i = 1; i < n; i++)
    for (int j = i; mas[j] < mas[j - 1]; j--)
        swap(mas[j], mas[j - 1]);
    
}
void s3(int n, int ** mas)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++);
        
    }
}
 
void s4(int n, int ** mas)
{
    for (int i = 1; i < n; i++)
    for (int j = i; j && mas[j] > mas[j - 1]; j--)
        swap(mas[j], mas[j - 1]);
}
void s5(int n, int ** mas)
{
    for (int i = 0; i < n; i++)
    {
    }
}
void s6(int ** mas, int n, int *element, int sredn, int last, int first = 0)
{
    first = n - 1;
    while (last != first)
    {
        sredn = (first + last) / 2;
 
        if (element == mas[sredn])
        {
 
        }
        if (element > mas[sredn]) last = sredn;
        else
            first = sredn;
 
        if (abs(first - last) == 1)
        {
            if (element == mas[first])
            {
                //cout << "Индекс искомого элемента: " << first << endl;
            }
            else
            if (element == mas[last])
            {
                //cout << "Индекс искомого элемента: " << last << endl;
 
            }
            //else
            //  cout << "Элемент не найден" << endl;
            _getch();
            //return 0;
        }
    }
}
    /*cout << "Элемент не найден" << endl;
 
    _getch();
    return 0;*/
 
int main(int argc, char*argv[])
{
    setlocale(LC_ALL, "rus");
    int n, index, element, first = 0, last = n - 1, sredn = (first + last) / 2, i = 0;
 
    cout << "Введите размерность: " << endl;
    cin >> n;
 
    cout << "Введите массив: ";
    int *mas = new int[100];
    cout << "mas[" << i << "] = ";
    cin >> mas[i];
    cout << "\nМассив 1: " << endl;
    cout << "  " << mas[i];
    cout << "\nМассив 2: " << endl;
    cout << " " << mas[i];
    cout << "\nВведите элемент, который хотите найти:" << endl;
    cin >> element;
    if (element == mas[sredn])
    {
        cout << "Индекс искомого элемента: " << sredn << endl;
        _getch();
        return 0;
    }
    if (element == mas[first])
        cout << "Индекс искомого элемента: " << first << endl;
    if (element == mas[last])
        cout << "Индекс искомого элемента: " << last << endl;
    else
        cout << "Элемент не найден" << endl;
    _getch();
    return 0;
}
Добавлено через 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
75
76
77
78
79
80
81
#include <conio.h>
#include <iostream>
#include <math.h>
    using namespace std;
 
    int main()
    {
        setlocale(LC_ALL, "rus");
        int n;
 
        cout << "Введите развмерность: " << endl;
        cin >> n;
 
        cout << "Введите массив: ";
        int mas[100];
        for (int i = 0; i < n; i++)
        {
            cout << "mas[" << i << "] =";
            cin >> mas[i];
        }
 
        for (int i = 1; i < n; i++)
            for (int j = i;  mas[j] < mas[j - 1]; j--)
                swap(mas[j], mas[j - 1]);
 
            cout << "\nМассив 1: " << endl;
 
 
            for (int i = 0; i < n; i++)
            {
                cout << " " << mas[i];
            }
 
 
            for (int i = 1; i < n; i++)
                for (int j = i; j && mas[j] > mas[j - 1]; j--)
                    swap(mas[j], mas[j - 1]);
 
            cout << "\nМассив 2: " << endl;
            for (int i = 0; i < n; i++)
                cout << " " << mas[i];
 
            int index, element;
            index = n;
            cout << "\nВведите элемент, который хотите найти:" << endl;
            cin >> element;
 
            int first = 0, last = n - 1;
 
 
            while (last != first)
            {
                int sredn = (first + last) / 2;
 
                if (element == mas[sredn])
                {
                    cout << "Индекс искомого элемента: " << sredn << endl;
                    _getch();
                    return 0;
                }
 
                if (element > mas[sredn]) last = sredn;
                else
                    first = sredn;
 
                if (abs(first - last) == 1)
                {
                    if (element == mas[first])
                        cout << "Индекс искомого элемента: " << first << endl;
                    else
                        if (element == mas[last])
                            cout << "Индекс искомого элемента: " << last << endl;
                        else
                            cout << "Элемент не найден" << endl;
                    _getch();
                    return 0;
                }
            }
        _getch();
        return 0;
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2014, 12:16
Ответы с готовыми решениями:

Вычисления суммы ряда оформить в виде функций, используемые функции и процедуры оформить в виде модуля
Напишите программу полностью, очень прошу! Вычисления оформить в виде функции, используемые функции...

Оформить в виде функций ввод, просмотр и сумму чисел в непарных столбиках масива
Дан массив m x n. Оформить в виде функций ввод, просмотр и сумму чисел в непарных столбиках масива!

Оформить программу в виде функций
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int main(){ int size,i; ...

Оформить в виде функций программу
Всем привет! Помогите пожалуйста оформить задачу в виде функций. /*В одномерном массиве,...

2
Модератор
Эксперт С++
9913 / 8436 / 5129
Регистрация: 18.12.2011
Сообщений: 22,581
02.12.2014, 12:50 2
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
85
86
87
88
89
90
91
92
#include <conio.h>
#include <iostream>
#include <math.h>
using namespace std;
void Input(int* mas,int n)
{
  cout << "Введите массив: ";
  for (int i = 0; i < n; i++)
  {
     cout << "mas[" << i << "] =";
     cin >> mas[i];
  }
} 
//------------------------------------
void SortPlus(int* mas,int n)
{
   for (int i = 1; i < n; i++)
     for (int j = i;  mas[j] < mas[j - 1]; j--)
          swap(mas[j], mas[j - 1]);
}
//------------------------------------
void Print(int* mas,int n,int number)
{
   cout << "\nМассив "<<number<< endl;
   for (int i = 0; i < n; i++)
   {
       cout << " " << mas[i];
   }
   cout<<endl;
}
//-----------------------------------
void SortMinus(int* mas,int n)
{
  for (int i = 1; i < n; i++)
    for (int j = i; j && mas[j] > mas[j - 1]; j--)
       swap(mas[j], mas[j - 1]);
}
//------------------------------------
int search(int* mas,int n,int element)
{
    int first = 0, last = n - 1;
    while (last != first)
    {
        int sredn = (first + last) / 2;
 
        if (element == mas[sredn])
        {
            return sredn;
        }
 
        if (element > mas[sredn]) last = sredn;
        else
            first = sredn;
 
        if (abs(first - last) == 1)
        {
            if (element == mas[first])
            {
                return first;
            }else if (element == mas[last])
            {
                return last;
            }
        }
    }
    return -1;
}
//-------------------------------------------------------
int main()
{
  setlocale(LC_ALL, "rus");
  cout << "Введите развмерность: " << endl;
  int n;cin >> n;
  int* mas=new int[n];
  Input(mas,n);
  SortPlus(mas,n);
  Print(mas,n,1);   
  SortMinus(mas,n);
  Print(mas,n,2);   
 
  int element;
  cout << "\nВведите элемент, который хотите найти:" << endl;
  cin >> element;
  int index=search(mas,n,element);
  if(index>=0)
    cout << "Индекс искомого элемента: " << index<< endl;
  else
    cout << "Элемент не найден" << endl;
  delete[] mas;
  _getch();
  return 0;
}
0
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 12
04.12.2014, 21:36  [ТС] 3
спасибо, Вам, большое, очень выручили!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2014, 21:36

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Оформить программу в виде функций
помогите оформить программу в виде функций. #include&lt;conio.h&gt; #include&lt;stdio.h&gt;...

Оформить программу в виде функций
Недавно столкнулся с такой вот задачей: Дана матрица размером M на N, нужно сформировать одномерный...

Сделать задачу с использованием функций. Ввод-вывод значений массивов осуществить с п0м0щью функций
Задача 1.Даны коэффициенты многочленов P(x) и Q(x) 5-й степени и дано вещественное a. Вычислить...

Программу оформить в виде функций законченные последовательности действий
Нужно переделать программу под это задание: Программу оформить в виде функций законченные...


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

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

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