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

блок-схемы - C++

Восстановить пароль Регистрация
 
ZayacV
2 / 2 / 2
Регистрация: 27.10.2013
Сообщений: 72
11.01.2014, 18:51     блок-схемы #1
составить блок-схему к каждой программе:
№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
//Задача №1 Дан массив элементов длины N. Найти: Номер первого отрицательного элемента массива
#include <iostream> 
#include <iomanip> 
using namespace std; 
int main() 
{
    setlocale(LC_ALL, "rus"); 
    int array[100], n;    
    cout << "Количеcтво элементов массива: "; 
    cin >> n; 
    cout << "Введите элементы массива через Enter\n";
    for(int i=0; i<n; i++) 
    { 
        cin >> array[i]; 
    }
    system("cls");
    cout << "Массив:\n";
    for(int i=0; i<n; i++)
    { 
        cout << setw(5) << array[i];
    }
    for(int i=0; i<n; i++) 
    { 
        if(array[i] < 0) 
        {  
                cout << "\nНомер первого отр. элемента: "<< i + 1 << endl; 
                break; 
        }
    }
    cout << endl;
    return 0;
 }

№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
/*Задача № 2
Разработать подпрограммы (функции или процедуры) для следующих алгоритмов над массивом.   
Входным параметром подпрограмм является одномерный массив элементов длины N.
- Найти номер наибольшего элемента массива. 
- Найти номер наименьшего элемента массива. 
*/
#include <iostream>
#include <time.h>  
#include <iomanip> 
 
using namespace std;
 
const int n = 10;
 
int MaxIndex(int array[]); 
int MinIndex(int array[]);
 
int main() 
{
    int array[n];
    array[0] = 5;
    srand(time(NULL));
    cout << endl << "Random array:" << endl;
    for(int i=0; i<n; i++)
    {
        array[i] = rand() % 100 - 50;    
        cout << setw(5) << array[i];
    }
    cout << endl;
    cout << endl <<"Max index: " << MaxIndex(array);    
    cout << endl << "Min index: " << MinIndex(array);
    cout << endl;
    return 0;
}
 
int MaxIndex(int array[])  
{
    int imax = 0;
    int max_el = 0;
    for(int i = 0; i < n; i++) 
    {
        if(array[i] > max_el) 
        {
            max_el = array[i]; 
            imax = i + 1;
        }
    }
 
    return imax;
}
 
int MinIndex(int array[]) 
{
    int imin = 0;
    int min_el = 0;
    for(int i=0; i<n; i++) 
    {
        if(array[i] < imin) 
        {
            min_el = array[i];   
            imin = i + 1;
        }
    }
 
    return imin;
}

№3
Кликните здесь для просмотра всего текста
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
/*Задачи №3
 
- Осуществить сдвиг влево элементов массива.
- Осуществить сдвиг вправо элементов массива.
*/
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <iomanip>
#include <conio.h>
using namespace std;
int n, array[100], temp;
void left();
void right();
// главная функция
int main()
{
    setlocale(LC_ALL, "rus"); 
    srand(time(NULL)); 
    int key;
    cout << "1.Сдвиг влево." << endl;
    cout << "2.Сдвиг вправо." << endl;
    cout << "3.Выход" << endl;
    cout << "Выберите пункт: ";
    switch(key = _getch())
    {
    case '1': left();
        break;
    case '2': right();
        break;
    case '3': exit(0);
        break;
    default: cout << "Нет такого пункта. Повторите" << endl << endl;
        main();
    }
    cout << endl;
}
void left() //функция сдвига влево
{
    system("cls");
    cout << "Введите кол-во элементов массива: ";
    cin >> n;
    cout << "Исходный массив:" << endl;
    for(int i=0; i<n; i++)
    {
        array[i] = rand()%30-15;      // генерируем и выводим массив
        cout << setw(5) << array[i];
    }
    cout << endl;
    cout << "Сдвиг массива влево" << endl;
    int temp = array[0];
    for(int i=0; i<n-1; i++)
    {
        array[i] = array[i+1];
    
    }
    array[n-1] = temp;
    
    for(int i=0; i<n; i++)
        cout << setw(5) << array[i];
    cout << endl;
}
void right() // функция сдвига вправо
{
    system("cls");
    cout << "Введите кол-во элементов массива: ";
    cin >> n;
    cout << "Исходный массив:" << endl;
    for(int i=0; i<n; i++)
    {
        array[i] = rand()%30-15;
        cout << setw(5) << array[i];
    }
    cout << endl;
    cout << "Сдвиг массива вправо" << endl;
    
    for (int i=0; i<n; i++)
        temp = array[i];
    {
        for(int i=n-1; i>0; i--)
        {
            array[i]= array[i-1];
            
        }
        array[0]= temp;
    }
    // вывод массива
    for(int i=0; i<n; i++)
        cout << setw(5) << array[i];
    cout << endl;
}

№4
Кликните здесь для просмотра всего текста
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
/*Задача №4
Разработать подпрограммы (функции или процедуры) для следующих алгоритмов над массивом.   Входным параметром подпрограмм является одномерный массив элементов длины N.
- Отсортировать массив по убыванию методом линейной сортировки (прямого выбора).
- Отсортировать массив по возрастанию методом пузырьковой сортировки (прямого обмена).
*/
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
 
void SortPuzirek();
void SortLin();
int array[100], n, temp;
int main()
{
    setlocale(LC_ALL, "rus");
    srand(time(NULL));
    cout << "Введите количество элементов в массиве: ";
    cin >> n;
    for(int i=0; i<n; i++)
        array[i] = rand()%30-15;
    cout << endl << "Исходный массив:" << endl;
    for(int i=0; i<n; i++)
        cout << setw(5) << array[i];
    cout << endl;
    SortPuzirek();
    SortLin();
    return 0;
}
void SortPuzirek()
{
    for(int i=0; i<(n-1); i++)
    {
        for(int j=(i+1); j<n; j++)
        {
            if(array[i] > array[j])
            {
                temp = array[i];
                array[i] = array[j];
                array[j] = temp;
            }
        }
    }
    cout << endl << "Пузырьковая сортировка по возрастанию: " << endl;
    for(int i=0; i<n; i++)
        cout << setw(5) << array[i];
    cout << endl;
}
void SortLin()
{
    int temp2;
    bool a = false;
    while(!a)
    {
        a = true;
        for(int i=0; i<(n-1); i++)
        {
            if(array[i] < array[i+1])
            {
                temp2 = array[i];
                array[i] = array[i+1];
                array[i+1] = temp2;
                a = false;
            }
        }
    }
    cout << endl << "Линейная сортировка по убыванию: " << endl;
    for(int i=0; i<n; i++)
        cout << setw(5) << array[i];
    cout << endl << endl;
}

№5
Кликните здесь для просмотра всего текста
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
/*Задача №5
Задан неупорядоченный числовой массив, состоящий из n элементов.
Используя сортировку массива, определить количество элементов, совпадающих по значению с максимальным. 
    */
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL,"rus");
    int n, max, cnt;
    int a[100];
    cout << "Введите кол-во элементов массива: ";
    cin >> n;
    cout << "\nВведите элементы массива через Enter\n";
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }
    cout << "\nИсходный массив:\n";
    for (int i=0; i<n; i++){
        cout << a[i] << " ";
    }
    cnt = 0;
    max = a[0];
 
    for (int i = 0; i < n; i++)
    {
        if (max == a[i])
            cnt++;
        if (max < a[i]) 
        {
            max = a[i];
            cnt = 1;
        }
    }
    cout << endl;
    cout << endl << "Максимальный элемент " << max 
        << endl << "Их всего " << cnt << endl;
    cout << endl;
    return 0;
}

№6
Кликните здесь для просмотра всего текста
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
/*Задача №6.
Найти наибольший и наименьший элемент в матpице А(4,3) и пеpеставить их местами*/
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <iomanip>
using namespace std;
int main()
{
    //обьявление переменных
    int n=4, m=3;
    int mas[10][15];
    int max_el, min_el, imax, jmax, imin, jmin;
    srand(time(NULL));  
    setlocale(LC_ALL, "rus");
    for(int i=0; i<n; i++)                     
        for(int j=0; j<m; j++)
            mas[i][j] = rand()%100; 
    cout << endl << "Исходная матрица (случайная):" << endl;
    for(int i=0; i<n; i++)                     //вывести сгенерированный массив
    {
        for(int j=0; j<m; j++)
        {
            cout << setw(5) << mas[i][j];
        }
        cout << endl;
    }
    max_el = mas[0][0]; //начальное значение максимального элемента
    jmax = 0;
    imax = 0;
    for(int i=0; i<n; i++)
        for(int j=0; j<m; j++)
            if (max_el < mas[i][j])
            {
                max_el = mas[i][j];  //запомнить максимальный элемент и его индексы
                imax = i;                      
                jmax = j;
            }
    min_el = mas[0][0]; //начальное значение минимального элемента
    jmin = 0;
    imin = 0;
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
        {
            if (min_el > mas[i][j])
            {
                min_el = mas[i][j];  //запомнить минимальный элемент и его индексы
                imin = i;                        
                jmin = j;
            }
        }
    }
    //перестановка
    int tmp = mas[imin][jmin];
    mas[imin][jmin] = mas[imax][jmax];
    mas[imax][jmax] = tmp;
 
    cout << endl;
    cout << "Max элемент = " << max_el << endl;
    cout << "Min элемент = " << min_el << endl;
    cout << endl;
    cout << "С перестановкой max и min элементов:" << endl;
    for(int i=0; i<n; i++)  //вывести новый массив
        {
            for(int j=0; j<m; j++)
            {
                cout << setw(5) << mas[i][j];
            }
            cout << endl;
        }
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 18:51     блок-схемы
Посмотрите здесь:

Блок-схемы C++
Блок-схемы C++
C++ Блок-схемы
блок-схемы C++
C++ Блок Схемы
Блок схемы C++
C++ с++ блок-схемы
Блок-схемы C++

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

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

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