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

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

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

Переписать программу с помощью функций - C++

25.12.2013, 19:20. Просмотров 145. Ответов 0
Метки нет (Все метки)

Ребята, не укладываются в голове функции.
Эту программу нужно изменить так, чтобы программный код, исполняющий действия пунктов меню, выполнялся в отдельных функциях (по одной на каждый пункт меню). Использование глобальных переменных не допускается.
Спасибо всем, кто попытается помочь.
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#include "stdafx.h"
#include <clocale>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
 
    srand(time(NULL));
 
    int **a = NULL;
    int height = 0;
    int width = 0;
    int menu = 0;
    int done = 0;
 
    printf("Произвольные матрицы.\n");
    printf("Поменять местами максимальный и минимальный элементы в каждом столбце.\n");
    printf("\nВведите размерность матрицы\n");
    printf("\nШирина: ");
    scanf("%d", &width);
    printf("Высота: ");
    scanf("%d", &height);
    printf("\n");
 
    a = new int*[height];
    for (int i = 0; i < height; i = i + 1)
    {
        a[i] = new int[width];
    }
 
    do
    {
        printf("1. Ввести элементы матрицы с клавиатуры\n");
        printf("2. Заполнить элементы матрицы случайными значениями\n");
        printf("3. Обработать матрицу\n");
        printf("4. Вывести обработанную матрицу на экран\n");
        printf("---------------------\n");
        printf("0. Выход\n\n");
        
        scanf("%d", &menu);
 
        switch(menu)
        {
        case 1:
            printf("\n");
            printf("Введите элементы: \n");
            for (int i = 0; i < height; i = i + 1)
            {
                for (int j = 0; j < width; j = j + 1)
                {
                    printf("Элемент %d строки, %d столбца ", i+1, j+1);
                    scanf("%d", &a[i][j]);
                }
            }
            printf("\nВаша матрица:\n");
            for (int i = 0; i < height; i = i + 1)
            {
                for (int j = 0; j < width; j = j + 1)
                {
                    printf("%d ", a[i][j]);
                }
                printf("\n");
            }
            printf("\n");
 
            break;
        case 2:
            for (int i = 0; i < height; i = i + 1)
            {
                for (int j = 0; j < width; j = j + 1)
                {
                    a[i][j] = rand() % 10;
                }
            }
            
            printf("\nМатрица заполнена случайными элементами:\n");
            for (int i = 0; i < height; i = i + 1)
            {
                for (int j = 0; j < width; j = j + 1)
                {
                    printf("%d ", a[i][j]);
                }
                printf("\n");
            }
            printf("\n");
 
            break;
        case 3:
            for (int j = 0; j < width; j = j + 1)
            {
                int max=a[0][j], imax=0, min=a[0][j], imin=0;
                for (int i = 1; i < height; i = i + 1)
                {
                    if (a[i][j]<min)
                    {
                        min=a[i][j];
                        imin=i;
                    }
                    if (a[i][j]>max)
                    {
                        max=a[i][j];
                        imax=i;
                    }
                }
                a[imin][j]=max;
                a[imax][j]=min;
            }
 
            printf("Матрица успешно обработана.\n");
 
            break;
        case 4:
            printf("Обработанная матрица:\n");
 
            for (int i = 0; i < height; i = i + 1)
            {
                for (int j = 0; j < width; j = j + 1)
                {
                    printf("%d ", a[i][j]);
                }
                printf("\n");
            }
            printf("\n");
 
            break;
        case 0:
            break;
        default:
            break;
        }
    } while (menu != 0);
 
 
 
    for (int i = 0; i < height; i = i + 1)
    {
        delete [] a[i];
    }
 
    delete [] a;
 
    getchar();
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2013, 19:20     Переписать программу с помощью функций
Посмотрите здесь:

Переписать программу с использованием функций - C++
Добрый день. Помогите пожалуйста мою программу переписать так, чтобы она была с функциями. :( Она маленькая и простая. :) //...

Переписать программу с использованием функций - C++
Здравствуйте, помогите пожалуйста с функциями. Оформить каждый пункт задания в виде функции. Все необходимые данные для функций должны...

Переделать программу с помощью функций - C++
#include &lt;iostream&gt; #include&lt;fstream&gt; using namespace std; int main() { ifstream f1; f1.open(&quot;dvymernyi_massiv.txt&quot;); if(!f1)...

Переписать программу ввода информации по книге с помощью объединений (Union) - C++
И снова здравствуйте!)) проблема следующая..не могу понять как работать с объединениями каким образом их можно заставить работать вместе со...

Переписать код с использованием функций - C++
Народ, помогите плиз. надо переписать этот код так, чтобы были функции #include &lt;windows.h&gt; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; ...

Переписать приведенный код с использованием функций - C++
Помогите переделать программу чтобы там использовалась (Functions) #include &lt;stdafx.h&gt; #include &lt;cstdlib&gt; #include &lt;iostream&gt; ...

Переписать решение системы линейных уравнений с помощью указателей - C++
Нужно написать, так сказать, модификацию задачи. В исходном коде организовать данные с помощью указателей. Помогите пожалуйста ...

Cортировки массива c помощью функций - C++
Написать программу сортировки произвольного массива А по возрастанию или убыванию(режим сортировки задается пользователем). Написать...

Работа с массивом с помощью функций - C++
Всем доброго времени суток! Вообщем нужно выполнить следующее задание с использованием функций: В одномерном массиве, состоящем из n...

Вызовы функций с помощью указателей - C++
Составить программу которая использует вызовы функций с помощью указателей ------------------------ первая функция double...


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

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

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