Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 21.09.2014
Сообщений: 8
1

Создать функцию, параметром которой является одномерный массив

21.09.2014, 07:14. Просмотров 1525. Ответов 2
Метки нет (Все метки)

Всем привет! Помогите, пожалуйста, выполнить лабораторку.
Задание: Создать функцию параметром которой является одномерный массив. Тело функции реализовать двумя способами: через обращение к элементам массива через указатели и обычным способом. Продемонстрировать возможность применения созданной функции к строкам двумерного массива.

Создать функцию входным параметром которой будет одномерный массив. В ней посчитать среднее арифметическое элементов, стоящих на нечетных местах. Использовать функцию для каждой строки матрицы М(4,6).
Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2014, 07:14
Ответы с готовыми решениями:

создать функцию, параметром которой является одномерный массив и его размерность
создать функцию, параметром которой является одномерный массив и его размерность. Тело функции...

Создать папку, название которой является первым параметром команды
Напишите приложение, создающее папку, название которой является первым параметром команды. ...

Создать функцию возвращаемым значением которой является квадратная матрица
Помогите, сижу на зачете, хз в чем ошибка создать функцию возвращаемым значением которой...

Создать матрицу, из адресов максимальных элементов каждого ряда которой сформировать одномерный массив
Создать матрицу, из адресов максимальных элементов каждого ряда которой сформировать одномерный...

2
55 / 49 / 42
Регистрация: 18.07.2014
Сообщений: 194
21.09.2014, 10:11 2
Лучший ответ Сообщение было отмечено landtie как решение

Решение

Так? :
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
#include <iostream>
 
using namespace std;
 
double func_s( const int[], size_t ); //обращение с помощью стандартного оператора []
double func_ptr( const int*, size_t ); //обращение с помощью указателей
 
int main()
{
    setlocale( 0, "" );
    size_t n;
    cout << "Введите размер массива:\n ?_ ";
    cin >> n;
    int *mass = new int[n];
    for ( size_t i = 0; i < n; i++ )
    {
        cout << "Ячейка[ " << i+1 << " ] = ";
        cin >> mass[i];
    }
    cout << "func_s( mass, n ) = " << func_s( mass, n ) << endl;
    cout << "func_ptr( mass, n ) = " << func_s( mass, n ) << endl;
    delete []mass;
 
    size_t m;
    cout << "Введите количество столбцов в матрице:\n ?_ ";
    cin >> n;
    cout << "Введите количество строк в матрице:\n ?_ ";
    cin >> m;
    int **matrix = new int*[n];
    for ( size_t i = 0; i < n; i++ )
        matrix[i] = new int[m];
 
    for ( size_t i = 0; i < n; i++ )
        for ( size_t j = 0; j < m; j++ )
        {
            cout << "Ячейка [ " << i << " ][ " << j << " ] = ";
            cin >> matrix[i][j];
        }
    for ( size_t i = 0; i < n; i++ )
    {
        cout << "func_s( matrix[i], m ) = " << func_s( matrix[i], m ) << endl;
        cout << "func_ptr( matrix[i], m ) = " << func_s( matrix[i], m ) << endl;
    }
    for ( size_t i = 0; i < n; i++ )
        delete []matrix[i];
    delete []matrix;
    return 0;
}
 
double func_s( const int mass[], size_t n )
{
    int summ = 0;
    for ( size_t i = 0; i < n; i++ )
        if ( i % 2 )
            summ += mass[i];
    return static_cast< double >( summ ) / n;
}
 
double func_ptr( const int *mass, size_t n )
{
    int summ = 0;
    for ( size_t i = 0; i < n; i++ )
        if ( i % 2 )
            summ += *mass++;
    return static_cast< double >( summ ) / n;
}
1
Модератор
Эксперт С++
10147 / 8497 / 5164
Регистрация: 18.12.2011
Сообщений: 22,734
21.09.2014, 10:31 3
Цитата Сообщение от porshe Посмотреть сообщение
C++
1
2
3
for ( size_t i = 0; i < n; i++ )
 if ( i % 2 ) 
    summ += *mass++;
Через указатели такой код лучше писать так:
C++
1
2
for ( int* p=mass;p<=mass+ n; p+=2 )
    summ += *p;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2014, 10:31

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

СОЗДАТЬ программу, которая определяет, является ли заданный одномерный числовой массив составленной по возрастанию
Помогите СОЗДАТЬ программу, которая определяет, является ли заданный одномерный числовой массив...

Создать перегруженную функцию mas(), выводящую одномерный статический числовой массив
Может кто помочь пожалуйста, надо создать функцию mas(), которая выводит одномерный статический...

Создать подпрограмму функцию, которая возвращает одномерный массив В, состоящий из номеров строк исходной матрицы
Индивидуальное задание 7. Создать подпрограмму функцию, которая возвращает одномерный массив В,...

Создать класс, определяющий одномерный массив и функцию-член нахождения максимального элемента в этом массиве
Добрый день, форумчане! Сам изучать яп лишь нчал, но решение некоторых вузовских задач интересует...

Создать функцию с параметром
Вот код. Там a,b,x,N, InFile глобальные переменные. мне нужно разбить прогу на модули. для этого...

нужно функцию с параметром создать
нужно функцию с параметром создать. глобальные переменные передавать как эти параметры, чтоб...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.