Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > 5 минут для знающего челвоека - 2 блок-схемы


Автор: dekwatt 30.5.2015, 10:40
Здравствуйте. Надеюсь на Вашу помощь. Имеется 2 программы С++, есть задания, есть коды. Необходимо составить 2 блок-схемы, алгоритмы решения заданий. Приму решение просто на бумажном листе и с приклепленным фото сюда, это не проблема, главное, чтобы был ход решения. Примерный вид блок-схемы в прикрепленном изображении.
1. Выбрать из заданного массива отрицательные элементы, отсортировать их по убыванию и внести в другой массив.
Код

#include <iostream>
using namespace std;
int main() {
    setlocale(LC_ALL, "Russian");
    int x[10], z[10], temp;
    int size = 0;
    cout << "Введите 10 элементов массива" << endl;
    for (int i = 0; i < 10; i++)
    {
        cout << "[" << i + 1 << "] ";
        cin >> x[i];
    }
    for (int i = 0; i < 10; i++)
    {
        if (x[i] < 0){
            z[size] = x[i];
            size++;

        }

    }
    //Сортировка одномерного массива
    for (int i = 0; i<size; i++)
        for (int j = i; j<size; j++)
            if (z[i]<z[j])
            {
                temp = z[i];
                z[i] = z[j];
                z[j] = temp;
            }
    cout << "(";
    for (int i = 0; i < size; i++){
        cout << z[i] << ",";
    }
    cout << ")";
    system("pause");
    return 0;
}


2. В заданной матрице переписать элементы, расположенные выше главной диагонали в одномерный массив S1, а элементы, расположенные ниже - в одномерный массив S2.
Код

#include <iostream>
using namespace std; // матрицы

int main()
{
    setlocale(LC_ALL, "Russian");
    float Q[4][4], S1[100], S2[100];
    cout << "Введите массив" << endl;
    for (int i = 0; i < 4; i++)
    {
        for (int j = 0; j < 4; j++)
        {
            cout << "[" << i + 1 << "]" << "[" << j + 1 << "] ";
            cin >> Q[i][j];
        }

    }
    int zi = 0, be = 0;
    for (int i = 0; i < 4; i++){
        for (int j = 0; j < 4; j++){
            if (j < i){
                S1[zi] = Q[i][j];
                zi++;
            }
            else{
                if (j > i){
                    S2[be] = Q[i][j];
                    be++;
                }
            }
        }
    }
    cout << "Выведение массива под диагональю" << endl;
    cout << "(";
    for (int i = 0; i < zi; i++)
    {
        cout << S1[i] << ",";
    }
    cout << endl;
    cout << "Выведение массива над диагональю" << endl;
    cout << "(";
    for (int i = 0; i < be; i++)
    {
        cout << S2[i] << ",";
    }
    system("pause");
    return 0;
}




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)