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

Перегрузка функций

29.06.2011, 14:33. Показов 794. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Моя последняя лаба=( Светлые умы, помогите...
Выполнить задания пятой и шестой лабораторной работы, оформив каждый пункт задания в виде шаблона функции. Все необходимые данные должны передаваться им в качестве параметров.

Пятая:
1) номер максимального элемента массива;
2) произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине — элементы, стоявшие в четных позициях
Код:
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std; // Загрузка библиотек.
 
 
void main(void) // Начало тела программы.
{
    int i, n; // Описание переменных.
    cout<<"Enter N "; cin>>n; // Задаем длинну массива.
    int *a = new int[n]; // Описание массива.
    int *b = new int[n];
    int imax, max, fz, sz, ii; // Описание переменных.
    cout<<"Enter massive "<<endl; // Запрос на ввод массива с клавиатуры.
    for ( i=1; i<=n; i++) // Начинаем цикл ввода.
        {
            cout<<"a("<<i<<") = ";
            cin>>a[i]; // Заносим в память очередной элемент массива.
            b[i] = a [i];
        }
    max = a[1];
    fz = 0;
    sz = 0;
    for ( i=1; i<=n; i++)
    {
        if (a[i]>max)
        {
            max = a[i];
            imax = i;
        }
    }
        double p=1;
        for (i=1; i<=n; i++)
        {
                if (a[i]==0)
                {
                        int j=i+1;
                        while (a[j]!=0 && j<n)
                        {
                                p*=a[j];
                                j++;
                                
                        }
                }
        }
 
    ii = 0;
    for (i = 1; i<=n; i=i+2)
    {
        ii = ii + 1;
        a[ii] = b[i];
        a[n/2 + ii] = b[i+1];
    }
    cout<<"p="<<p<<endl;
    cout<<"nom = "<<imax<<endl;
    for ( i=1; i<=n; i++) cout<<"a("<<i<<") = "<<a[i]<<endl;
    _getch();
    delete [] a; // Удаление массива из памяти.
    }
Шестая:
Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный элемент.
Код:

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
79
80
81
#include "stdafx.h"  // подключение "stdafx.h"
#include "iostream" // подключение библиотеки ввода/вывода данных
#include "conio.h" // подключение библиотеки консоли
#include "math.h" // подключение библиотеки метематических элементов
using namespace std;
int _tmain(int argc, _TCHAR* argv[]) // объявление функции с именем tmain
{
    
    int **mas,n, m, i,j, y, temp,p,u;
    cout<<"Vvedite kol-vo strok v massive: "<< endl;
    cin>>n;
    cout<<"Vvedite kol-vo stolbcov v massive: "<< endl;
    cin>>m;
    mas=new int*[n];
    for(i=0; i<n; i++)
      mas[i]=new int[m];
    cout<<"Vvedite elementbI massiva: "<< endl;
    for(i=0; i<n; i++)
      for(j=0; j<m; j++)
      {
          cout<<"["<<i<<"]["<<j<<"]= ";
          cin>>mas[i][j];
      }
 
        cout<<"Ishodnui massiv"<<endl;
    for(i=0; i<n; i++)
        {
      for(j=0; j<m; j++)
          cout<<mas[i][j]<<"  ";
          cout<<endl;
        }
        for(i=0; i<n; i++)
        {
                temp=0;
                for(j=0; j<m; j++)
                        if(mas[i][j]!=0)
                                temp=1;
                if(temp==0)
                {
                        for(y=i; y<n-1; y++)
                                for(j=0; j<m; j++)
                                        mas[y][j]=mas[y+1][j];
                        n--;
                }
        }
        for(i=0; i<m; i++)
        {
                temp=0;
                for(j=0; j<n; j++)
                        if(mas[j][i]!=0)
                                temp=1;
                if(temp==0)
                {
                        for(y=i; y<m-1; y++)
                                for(j=0; j<n; j++)
                                        mas[j][y]=mas[j][y+1];
                        m--;
                }
        }
        cout<<endl;
        cout<<"poluchenbIi massiv"<<endl;
        for(i=0; i<n; i++)
        {
      for(j=0; j<m; j++)
          cout<<mas[i][j]<<"  ";
                cout<<endl;
        }
            for(i=0; i<n; i++)
             for(j=0; j<m; j++)
            {
                if (mas[i][j]>0)
                {
                    p=i;
                    cout<<"PervbIi polozhitelnui element v stroke = "<<p;
                }
                break;
            }
         cout<<endl;
        _gettch();
        return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.06.2011, 14:33
Ответы с готовыми решениями:

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов
Здравствуйте!!! Я бы хотел попросить помоч решить...ну или скинуть примеры таких задач, если вдруг у вас они завалялись на компе или...

Перегрузка функций. Реализация функций
Разработать функцию f(x) , которая возвращает младшую цифру натурального числа x . Вычислить с ее помощью значение выражения z= f(a) +...

Перегрузка функций
С помощью механизма перегрузки функций организовать ввод с клавиатуры и сцепление: 1) одной строки и символа перевода на другую строку; ...

1
101 / 88 / 7
Регистрация: 17.12.2010
Сообщений: 416
29.06.2011, 21:03
1)
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
#include <iostream>
 
// ввести одномерный массив
// вывести максимальный элемент
// в первую половину 1,3,5,7,9... элементы
// во вторую половину 2,4,6,8,10... элементы
// использовать шаблоны функций
 
template <typename T>
void max_of_array (const T * in, int n){
 
     int n_max = 0, i;
 
        for ( i=1;  i<n; ++i)
                if ( in[i]  > in[n_max] )
                        n_max = i;
        
 
        std::cout<<"index of max element="
                <<n_max
                <<std::endl;
 
        std::cout<<"max element = "
                <<in[n_max]
                <<std::endl;
}
 
template <typename T>
void blend_array (const T * a, T * b, int n){
 
        int i, j;
 
        for(i = 0, j = 0 ; i < n; i+=2)
                b[j++] =a[i];
 
        for(i = 1; i < n; i+=2)
                b[j++] = a[i];
}
 
int main()
{
        int i, n;
        int *a, *b;
 
        std::cout << "Enter N ";
        std::cin >> n;
 
        a = new int[n];
        b = new int[n];
 
        std::cout << "Enter massive " << std::endl;
        for ( i=0; i<n; ++i){
                        std::cout<<"a("
                                <<i
                                <<") = ";
                        std::cin>>a[i];
        }
                
        max_of_array(a, n);
 
        blend_array(a, b, n);
 
        for(i=0; i<n; ++i)
                std::cout<<"b["
                        <<i
                        <<"]="
                        <<b[i]
                        <<std::endl;
 
        delete[] a;
        delete[] b;
        return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.06.2011, 21:03
Помогаю со студенческими работами здесь

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

Перегрузка функций
Здравствуйте ! Попробовал выполнить задание, но есть проблемы...Кто может проверит а ошибки... Задание: АДТ - одномерный массив...

Перегрузка функций!
Есть такое задание: С помощью механизма перегрузки функций реализовать функции для вывода на экран (первый параметр – тип выводимого...

Перегрузка функций
Доброго времени суток . Очень нужна ваша помощь . Нужно написать программу , которая обеспечивает перемножение 2 чисел , перемножение...

Перегрузка функций
Определить две функции с одним именем для решения задачи. Определить функцию, которая находит минимальное значение из двух чисел (числа...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru