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

Как правильно записать функцию?

13.10.2013, 23:27. Показов 1844. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята помогите пожалуйста учу С++, хочу разобраться с разбиением задачи на функции. Задача 2ух мерный массив меняю местами столбы массива. Алгоритм рабочий только проблема с функцией fun и ее вызовов, помогите разобраться

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
#include <iostream>
#include<conio.h>
 
using namespace std;
 
 
 
void showMas(int mass[11][11])
{
    for(int i=1; i<=10; i++)
    {
        for(int j=1; j<=10; j++)
        {
            
            cout<<mass[i][j]<<"\t";
        }
        cout<<endl;
            
    }
}
 
int swapMas(int n1, int n2, int mas[11][11])
{
    int mas1[11];
    for(int i=1; i<=10; i++)
    {
        mas1[i]=mas[i][n1];
 
    }
    for(int i=1; i<=10; i++)
    {
        mas[i][n1]=mas[i][n2];
    }
    for(int i=1; i<=10; i++)
    {
        mas[i][n2]=mas1[i];
    }
    return 0;
}
 
int fun(int mas[11][11])
{
    
    for(int i=1; i<=10; i++)
    {
        for(int j=1; j<=10; j++)
        {
            mas[i][j]=i*j;
        }   
    }
    return mas;
}
 
 
void main()
 
{
    setlocale(LC_ALL, "rus");
    
    fun(mas);
    showMas(mas);
    cout<<endl;
    
    swapMas(5,3,mas);
    
    showMas(mas);
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.10.2013, 23:27
Ответы с готовыми решениями:

Как правильно записать функцию?
Подскажите, пожалста, можно ли так делать: #include &lt;math.h&gt; double F1(double x,double y) { double f1=y+1.32-sin(x); ...

Как правильно записать функцию?
Очень интересует как записать корень квадратный 3 степени w=\sqrt{x^6+ln^2y}+\frac{e^{\left|x-y \right|}\, \left|x-y...

Как правильно записать функцию в отдельном файле?
Здравия желаю. Помогите, пожалуйста, разобраться, как записать собственную функцию в отдельном файле? Делаю так, не получается: ...

6
Диванный эксперт
Эксперт С++
 Аватар для Max Dark
2550 / 2064 / 971
Регистрация: 09.10.2013
Сообщений: 4,793
Записей в блоге: 4
13.10.2013, 23:34
У вас функция пытатся возвратить массив чисел вместо одного числа

а так прототип для функции принимающей 2d массив должен быть что то вроде
C++
1
2
3
4
result_type funcName(type ** arr, int count_x, int count_y) {
// действия над массивом
return sovething;
}
0
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 8
14.10.2013, 00:03  [ТС]
поподробней можно

Добавлено через 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
#include <iostream>
#include<conio.h>
 
using namespace std;
 
 
 
void showMas(int mass[11][11])
{
    for(int i=1; i<=10; i++)
    {
        for(int j=1; j<=10; j++)
        {
            
            cout<<mass[i][j]<<"\t";
        }
        cout<<endl;
            
    }
}
 
int swapMas(int n1, int n2, int mas[11][11])
{
    int mas1[11];
    for(int i=1; i<=10; i++)
    {
        mas1[i]=mas[i][n1];
 
    }
    for(int i=1; i<=10; i++)
    {
        mas[i][n1]=mas[i][n2];
    }
    for(int i=1; i<=10; i++)
    {
        mas[i][n2]=mas1[i];
    }
    return 0;
}
 
/*
int fun(int mas[11][11])
{
    
    for(int i=1; i<=10; i++)
    {
        for(int j=1; j<=10; j++)
        {
            mas[i][j]=i*j;
        }   
    }
    return mas;
}
*/
 
 
void main()
 
{
    setlocale(LC_ALL, "rus");
    
    int mas[11][11];
    for(int i=1; i<=10; i++)
    {
        for(int j=1; j<=10; j++)
        {
            mas[i][j]=i*j;
        }   
    }
    
 
    showMas(mas);
    cout<<endl;
    
    swapMas(5,3,mas);
    
    showMas(mas);
}
можно поподробней что бы это в main не писать а вынести в отдельную функцию, как это сделать можно
C++
1
2
3
4
5
6
7
8
int mas[11][11];
    for(int i=1; i<=10; i++)
    {
        for(int j=1; j<=10; j++)
        {
            mas[i][j]=i*j;
        }   
    }
0
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 8
15.10.2013, 00:17  [ТС]
ребята помогите разобраться с функцией
0
Диванный эксперт
Эксперт С++
 Аватар для Max Dark
2550 / 2064 / 971
Регистрация: 09.10.2013
Сообщений: 4,793
Записей в блоге: 4
15.10.2013, 00:55
Там ошибка в несовпадении типов
ожидается число, а пытается вернуть массив
Вместо return mas поставь return 0
0
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 8
15.10.2013, 01:10  [ТС]
а как вызвать ее в main
0
Диванный эксперт
Эксперт С++
 Аватар для Max Dark
2550 / 2064 / 971
Регистрация: 09.10.2013
Сообщений: 4,793
Записей в блоге: 4
15.10.2013, 02:29
C++
1
2
3
4
5
6
7
8
9
10
11
int main(int argc, char** argv) {
    setlocale(LC_ALL, "rus");
    int mas[11][11];
 
    fun(mas);
    showMas(mas);
    cout<<endl;
    swapMas(5,3,mas);
    showMas(mas);
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.10.2013, 02:29
Помогаю со студенческими работами здесь

Записать правильно встраиваемую функцию
Разные источники предлагают немного отличающиеся записи: 1) Учебник Либерти так: #include &lt;iostream&gt; using namespace std; ...

Как правильно вписать функцию в h-файл и правильно её отразить в основной функции?
Создать внешнюю библиотеку, в которой написана функция вывода символьного массива обратном порядке. Подключить данную библиотеку к ...

Как правильно вызвать функцию с указателем на другую функцию как параметр
Вот вариант: double f(double x) { ... } double k(double (*f)(double), double y) { ...

Как записать правильно e
Здравсвуйте! Как правильно записать {exp}^{-x}?

Как правильно записать?
y=sin|x|/0,1+9,4sin(3x-2,5) Добавлено через 13 минут матем. формулу


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru