Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2020, 22:39   #1
vavucho
Пользователь
 
Регистрация: 12.03.2020
Сообщений: 12
По умолчанию помогите исправить ошибки в коде,программам должна выводить решение по номеру задачи

Код:
#include <iostream>
#include <ctime>
#include <iomanip>      //для форматирования вывода
#include <cstdlib>
 
using namespace std;
 
int SIZE, k, nstr, nstb;
//инициирует массив
int* form_mas(int* mas, int& SIZE)
{
    cout << "Введите количество элементов массива= ";
    cin >> SIZE;
    mas = new int[SIZE];
    return mas;
 
}
//формирует массив
void input_mas(int* mas, int SIZE, int mx, int mn)
{
    for (int i = 0; i < SIZE; i++)
    {
        mas[i] = rand() % (mx - mn + 1) + mn;
    }
 
}
//выводит массив
void print_mas(int* masq, int& SIZE)
{
    for (int i = 0; i < SIZE; i++)
 
        cout << masq[i] << ' ';
    cout << endl;
}
 
 
//вычисляет среднее арифметическое
int srA(int* a, int n)
{
    int s = 0;//сумма элементов
    for (int i = 0; i < n; i++)
    {
        s += a[i];//суммирует
    }
    return s;//среднее арифметическое
}
 
int* del_mas(int* mas, int& SIZE)
{
 
    int n;
    cout << "Размер массива N=";
    cin >> SIZE;
    srand((unsigned)time(0));//инициирует генератор сл.чисел
    int mn, mx;
    cout << "Интревал значений min max: ";
    cin >> mn >> mx;
    if (mn > mx) swap(mn, mx);//если неправильно поменяли
    mas = form_mas(mas, SIZE);//создали массив
    cout << "Массив:\n";
    form_mas(mas, SIZE);//вывели массив
    int med = srA(mas, SIZE);//среднее
    int nmed = 0;//к-во средних
    for (int i = 0; i < SIZE; i++)
        if (mas[i] == med)//нашли
        {
            for (int j = i; j < SIZE - 1; j++)
            {
                mas[j] = mas[j + 1];//"сжали" массив
            }
            i--;//на то же место
            SIZE--;//уменьшили размер
            nmed++;//к-во+1
        }
    cout << "Среднее значение: " << med << " ,к-во: " << nmed << endl;
    cout << "Измененный массив:\n";
    print_mas(mas, SIZE);//вывели массив
    delete[] mas;//удалили массив
 
    system("pause");
    return mas;
}
 
int** form_mas2(int& nstr, int& nstb)
{
    cout << "Введите кол-во строк и столбцов ";
    cin >> nstr;
    cin >> nstb;
    int** mas2 = new int* [nstr + 1];
    for (int i = 0; i < nstr; i++)
        mas2[i] = new int[nstb];
    return mas2;
}
 
//выводит массив
void input_mas2(int** mas2, int& nstr, int& nstb, int mx, int mn)
{
    for (int i = 0; i < nstr; i++)
        for (int j = 0; j < nstb; j++)
            mas2[i][j] = rand() % (mx - mn + 1) + mn;
}
void print_mas2(int** mas2, int& nstr, int nstb)
{
    for (int i = 0; i < nstr; i++) {
        for (int j = 0; j < nstb; j++)
            cout << setw(3) << mas2[i][j] << ' ';
        cout << endl;
    }
    cout << endl;
}
 
int** add_mas(int** mas2, int& nstr, int nstb)
{
    int n, m;
    cout << "Размеры массива N M: ";
    cin >> n >> m;
    srand((unsigned)time(0));//инициирует генератор случ.чисел
    int mn, mx;
    cout << "Интревал значений min max: ";
    cin >> mn >> mx;
    if (mn > mx) swap(mn, mx);//поменяли
    int** b = form_mas2(n, m);//массив
    cout << "Массив:\n";
    input_mas2(b, n, m, mn, mx);//вывели
    for (int i = 0; i < n; i++)
    {
        int* c = new int[m + 1];//строка большего размера
        for (int j = 0; j < m; j++)
            c[j] = b[i][j];//скопировали старое
        c[m] = rand() % (mx - mn + 1) + mn;//последнее значение
        delete[] b[i];//удалили старую строку
        b[i] = c;//установили новую
    }
    m++;//длина строк увеличилась
    cout << "Измененный массив:\n";
    print_mas2(b, n, m);//вывели
    for (int i = 0; i < n; i++)//удаляем строки
        delete[] b[i];
    delete[] b;//удалили массив указателей строк
 
 
    system("pause");
    return mas2;
}
 
int main()
{
    int k;
    setlocale(LC_ALL, "rus");
    srand(time(0));
    int mx;
    int mn;
 
    int* mas;
    int** mas2;
    int q;
    int n = 10;
    cout << "С каким массивом работать (1 - одномерный, 2 - двумерный) ";
    cin >> q;
 
 
    if (q == 1) {
        do
        {
            cout << "1.Формирование массива\n";
            cout << "2.Печать массива\n";
            cout << "3.Удаление из массива\n";
            cout << "4.Выход\n";
            cin >> k;
            switch (k)
            {
            case 1: mas = form_mas(mas, SIZE); input_mas(mas, SIZE, mx, mn); break;
            case 2: print_mas(mas, SIZE); break;
            case 3: del_mas(mas, n);
                break;
            }
        } while (k != 4);
    }
    else {
        do {
            cout << "1.Формирование массива\n";
            cout << "2.Печать массива\n";
            cout << "3.Добавление в массив\n";
            cout << "4.Выход\n";
            cin >> k;
            switch (k)
            {
 
            case 1: mas2 = form_mas2(nstr, nstb); input_mas2(mas2, nstr, nstb, mx, mn); break;
            case 2: print_mas2(mas2, nstr, nstb); break;
            case 3: add_mas(mas2, nstr, nstb);
                break;
            }
        } while (k != 4);
    }
    return 0;
}
vavucho вне форума Ответить с цитированием
Старый 16.03.2020, 22:45   #2
vavucho
Пользователь
 
Регистрация: 12.03.2020
Сообщений: 12
По умолчанию

вот сами ошибки
Изображения
Тип файла: png ошибки.png (11.1 Кб, 0 просмотров)
vavucho вне форума Ответить с цитированием
Старый 17.03.2020, 18:48   #3
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Нормалёк. Даже ошибки на русском.
И чё?
Не знаешь что такое инициализация?
Не знаешь как задать тип переменной?
Чем помочь то?
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C++] Исправить ошибки в коде Evgeny_L Помощь студентам 1 21.02.2019 08:29
С++ Исправить ошибки в коде artilun Общие вопросы C/C++ 3 03.11.2016 10:39
Помогите, нужно исправить 4 ошибки в коде программы Dimas190597 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 02.10.2016 15:57
Помогите исправить ошибки в коде lomik222 Общие вопросы C/C++ 5 11.03.2016 09:51
Помогите пожалуйста исправить ошибки в коде Nata Golden rose Общие вопросы C/C++ 6 18.05.2014 23:28