Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 16.11.2012
Сообщений: 32

Оформить в виде функции

20.05.2013, 11:19. Показов 1569. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Оформить в виде функции на C/C++ решение задачи:
https://www.cyberforum.ru/cgi-bin/latex.cgi?b_i = a_i \,- \,(\min_{1\leq j\leq n}a_j) \\i = 1, 2 .. n

Кликните здесь для просмотра всего текста
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
#include <ctime> 
#include <iostream> 
#include <conio.h>
const int N=10;
const int M=10;
int i,j;
using namespace std; 
void func(int **a, int b[N],int c[N][M], int m, int n)
{cout<<endl;
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
        {
            c[i][j]=a[i][j]-b[j];
            cout<<c[i][j]<<" ";
            
        }cout<<endl;
    }
}
int main()
{ 
    srand(time(0)); 
    int n, m,b[N],c[N][M]; 
    cout << "n m? "<<endl; 
    cin >> n >> m; 
    int **a = new int *[n]; 
    cout << "massiv:\n"; 
    for (int i = 0; i < n; ++i) { 
        a[i] = new int[m]; 
        for (int j = 0; j < m; ++j) 
        cout << (a[i][j]=rand() % 100)<<'\t'; 
        cout << endl; 
    } 
    cout << "mins:\n"; 
    for (int i = 0; i < m; ++i) { 
        int m = a[0][i]; 
        for (int j = 1; j < n; ++j) 
            if (a[j][i] < m) 
                m = a[j][i];
        b[i]=m;
        cout << b[i]<<" "; 
    } 
    cout << endl; 
    func(a,b,c,n,m);
   _getch();
}

я кажется не до понял задание. На выходе у меня получился двумерный массив.
Я делал так. Задавал матрицу, в каждом столбце находил минимальный элемент. Присвоил их вектору.
Потом от каждой строки отнимал этот вектор. Но при таких действиях же двумерный массив получается. Что не так?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2013, 11:19
Ответы с готовыми решениями:

Вычислить m значений функции f(x) на отрезке [a, b]. Вычисление величины f(x) оформить в виде функции
Составить программу решения поставленной задачи: Вычислить m значений функции f(x) на отрезке . Вычисление величины f(x) оформить в виде...

Оформить в виде функции
Добрый вечер, нужно оформить программу в виде функции. Вроде все правильно сделал. но не могу понять на что ругается программа...#include...

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

7
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2222 / 1424 / 419
Регистрация: 16.05.2013
Сообщений: 3,639
Записей в блоге: 6
20.05.2013, 11:26
А причем тут вообще двумерный массив? Нужно каждый элемент исходного вектора уменьшить на минимальный элемент. Делов-то.
0
0 / 0 / 1
Регистрация: 16.11.2012
Сообщений: 32
20.05.2013, 11:56  [ТС]
Ilot, а как понять тогда a(i)-min a(j)? я думал раз есть a(i) и a(j) то это матрица. Разве можно задавать разным векторам одинаковые имена?

Добавлено через 23 минуты
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
#include <iostream>
#include <conio.h>
#include <ctime>
using namespace std;
const int N=10;
int m;
 
void input(int a[N], int n)
{
    for (int i=0;i<n;i++)
    {
    cin>>a[i];
    }
}
void output(int a[N],int n)
{
    cout<<"Vector:";
    for (int i=0;i<n;i++)
        cout<<a[i]<<" ";
    cout<<endl;
}
void func(int a[N], int b[N], int n, int m)
{
    cout<<endl;
    for (int i=0;i<n;i++)
        {
            b[i]=(a[i]-m);
    cout<<b[i]<<" ";
    }
}
    
        
int main()
{
    setlocale(LC_ALL,"");
    int a[N],b[N],n,i,j,k,v,m,d;
    cout<<"Введите количество элементов:";
    cin>>n;
    input(a,n);
    output(a,n);
    m=a[0];
    for (int i=0;i<n;i++)
        if (a[i]<m) m=a[i];
    d=m;
    cout<<"min="<<d<<endl;
    func(a,b,n,m);
_getch();
}
вот как ты говорил
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2222 / 1424 / 419
Регистрация: 16.05.2013
Сообщений: 3,639
Записей в блоге: 6
20.05.2013, 12:13
Цитата Сообщение от emiln00b Посмотреть сообщение
Ilot, а как понять тогда a(i)-min a(j)? я думал раз есть a(i) и a(j) то это матрица. Разве можно задавать разным векторам одинаковые имена?
Второе слагаемое это скаляр!
1
0 / 0 / 1
Регистрация: 16.11.2012
Сообщений: 32
20.05.2013, 12:19  [ТС]
у меня код правильный?
ввожу вектор, нахожу его наименьшее потом из каждого элемента введенного вектора отнимаю этот минимум.
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
20.05.2013, 12:25
emiln00b, у вас есть заполненный вектор, находите в нем минимальный элемент и заполняете второй вектор элементами первого минус минимальный.
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2222 / 1424 / 419
Регистрация: 16.05.2013
Сообщений: 3,639
Записей в блоге: 6
20.05.2013, 12:25
Разбирайся:
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
#include <iostream>
#include <conio.h>
void func(int arr[], int n);
int main() {
    int *array, n;
    std::cout << "Enter n: ";
    std::cin >> n;
    array = new int [n];
    std::cout << "Enter array a: " << std::endl;
    for (int i = 0; i < n; i++)
        std::cin >> array[i];
    func(array, n);
    delete []array;
    getch();
    return 0;
}
void func(int arr[], int n) {
    int min = arr[0];
    for (int i = 0; i < n; i++)
        if (min > arr[i])
            min = arr[i];
        std::cout << "Array b: " << std::endl;
    for (i = 0; i < n; i++)
        std::cout << arr[i] - min << std:: endl;
}
P.S. Старайся определения ф-й помещать после main.
1
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
20.05.2013, 12:42
emiln00b, вот вариант STL

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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <cstdlib>
#include <time.h>
 
void func(std::vector<int> &_coll){
    //минимальный элемент
    int min(*std::min_element(_coll.begin(), _coll.end()));
 
    std::vector<int> coll1(_coll);              //копируем вектор А в В
 
    //каждый элемент вектора Вi = Ai - min
    std::for_each(coll1.begin(), coll1.end(), [min](int &op) { op -= min; });
 
    //выводим содержимое вектора А
    std::cout << "\nVector B: ";
    std::copy(coll1.begin(), coll1.end(), std::ostream_iterator<int>(std::cout, " "));
}
 
int main()
{
    int size(10);                           //размер вектора
    srand(time(nullptr));
 
    std::vector<int> coll(size);            //вектор А
 
    //рандомно заполнили вектор
    std::for_each(coll.begin(), coll.end(), [](int &op) { op = rand() % 21; });
 
    //выводим содержимое вектора А
    std::cout << "Vector A: ";
    std::copy(coll.begin(), coll.end(), std::ostream_iterator<int>(std::cout, " "));
 
    func(coll);
 
    std::cout << std::endl << std::endl;
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.05.2013, 12:42
Помогаю со студенческими работами здесь

Оформить в виде функции
Даны действительные числа s, t. Получить: g(1.2, s)+g(t, s)-g(2s - 1.5t), |g(ln(s, t+1))-g(t, s)|, где

Оформить обработку в виде функции
Здравствуйте. Помогите записать код программы с помощью функций, заранее благодарен!!! #include &lt;fstream&gt; #include...

Оформить функции в виде шаблонов
Даны 3 действительных числа a,b,c. Найти значение z=(\max\left(a+b+c,a*b*c \right)/\min \left(a,b \right)+\min \left(a+c,a+c...

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

Оформить решение в виде функции
#include &lt;iostream&gt; using namespace std; int main() { int C =...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru