0 / 0 / 0
Регистрация: 11.05.2015
Сообщений: 13
1

Ребята, объясните пожалуйста каждую строку этой программы

14.05.2015, 13:22. Показов 1121. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <iostream>
#include <stdlib.h>
using namespace std;
int main();
 
 
 
const int* arr_mmin(const int* f, const int* l){
    int i, n = abs(*f);
    const int* p = f++;
 
    for(; f != l; ++f){
        if((i = abs(*f)) < n){
            n = i;
            p = f;
        }
    }
    return p;
}
 
int main(void){
    int arr[] = { 1, 2, 3, -8, -2, 10, 4, 9 };
    int num   = sizeof(arr)/sizeof(arr[0]);
 
    const int* pm = arr_mmin(arr, arr + num);
    cout << "Minimalniy element po modulu: " << *pm << endl;
 
 
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2015, 13:22
Ответы с готовыми решениями:

Ребята, объясните пожалуйста эту рекурсию!
Ребята, ну хоть убейся не могу понять эту рекурсивную фунцию для задачи с Ханойской башней! Всё...

Ребята! Пожалуйста, объясните что делает данная программа?
#include &quot;stdafx.h&quot; #include&lt;fstream&gt; #include &quot;defs.h&quot; #define S 0 #define B 7 #define...

Ребята, помогите прокомментировать каждую строку, что к чему.
console.log(&quot;Hello World&quot;); var canvas = document.getElementById(&quot;canvas&quot;); var c =...

Объясните каждую строчку, пожалуйста
Объясните мне каждую строчку!!!!) Точнее распишите каждую строчку, ПОЖАЛУЙСТА!!!)) private void...

10
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
14.05.2015, 13:27 2
Тут два мейна
0
0 / 0 / 0
Регистрация: 11.05.2015
Сообщений: 13
14.05.2015, 13:31  [ТС] 3
да она работает нормально, это я поставил, мне нужно объяснить преподу программу, он может спросить любую строчку из неё и спросить для чего она нужна...
0
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
14.05.2015, 13:32 4
понятно

Добавлено через 1 минуту
Написана крайне плохо
0
68 / 67 / 59
Регистрация: 14.07.2013
Сообщений: 251
14.05.2015, 13:37 5
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
#include <iostream>//подключение библиотеки ввод/вывод потоки например cout
#include <stdlib.h>//стандартная библиотека С
using namespace std;// использовать пространство имен std, не надо будет писать std::cout 
int main();//это явно лишнее
 
 
 
const int* arr_mmin(const int* f, const int* l){ //функция поиска мин числа по модулю
int i, n = abs(*f);
const int* p = f++;
 
for(; f != l; ++f){
if((i = abs(*f)) < n){//сравнивается элемент текущего шага с предыдущим, если меньше то запомнить, если больше или равен то дальше
n = i;
p = f;
}
}
return p; 
}
 
int main(void){
int arr[] = { 1, 2, 3, -8, -2, 10, 4, 9 };
int num = sizeof(arr)/sizeof(arr[0]);
 
const int* pm = arr_mmin(arr, arr + num); присваиваем pm результат функции 
cout << "Minimalniy element po modulu: " << *pm << endl; //выводим на консоль
 
 
return 0;
}
1
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
14.05.2015, 13:37 6
C++
1
2
3
....
 delete pm;  //освобожать память надо
return 0;
0
0 / 0 / 0
Регистрация: 11.05.2015
Сообщений: 13
14.05.2015, 13:42  [ТС] 7
Спасибо))

int main(void){ а это что?


int num = sizeof(arr)/sizeof(arr[0]);


и return p; плиииз)
0
Модератор
Эксперт JS
4950 / 2004 / 387
Регистрация: 06.01.2013
Сообщений: 4,696
14.05.2015, 13:46 8
Черный мечник, не вводите в заблуждение. Не нужен там delete pm.
0
68 / 67 / 59
Регистрация: 14.07.2013
Сообщений: 251
14.05.2015, 13:51 9
Лучший ответ Сообщение было отмечено Rodionusa как решение

Решение

delete pm; не надо он же не через new создает. delete вызовет ошибку

Добавлено через 4 минуты
C++
1
2
3
4
5
int main(void){//основная функция все программы С++ начинаются с этой функции
и return p; // возвращаемое значение функции по вычислению мин числа по модулю именно это р присваивается в фунции main pm'у
 
 
int num = sizeof(arr)/sizeof(arr[0]); //число элементов в массиве, размер массива в единацах памяти делится на размер одного элемента также в единицах памяти
0
0 / 0 / 0
Регистрация: 11.05.2015
Сообщений: 13
15.05.2015, 02:59  [ТС] 10
Объясните плиз эти строчки.

int i, n = abs(*f);
const int* p = f++;

for(; f != l; ++f){
0
68 / 67 / 59
Регистрация: 14.07.2013
Сообщений: 251
15.05.2015, 10:12 11
C++
1
2
3
4
int i, n = abs(*f);//объявление переменной i, и  объявление и инициализация n, которой присваивается значение по модулю первого элемента массива f
const int* p = f++;//лучше без const она же потом меняется. второй элемент массива f
 
for(; f != l; ++f){//цикл
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2015, 10:12
Помогаю со студенческими работами здесь

Объясните, пожалуйста, каждую строчку кода.
#include &lt;string&gt; #include &lt;cctype&gt; #include &lt;algorithm&gt; using namespace std; void...

Объясните пожалуйста каждую строчку этого кода
Объясните пожалуйста каждую строчку этого кода, что выполняет каждая строчка в этом коде. И если...

Объясните пожалуйста смысл этой строки
Animal cat = new Animal(); Не могу понять что даёт слово &quot;new&quot;. Вот полный код: using System;...

Поясните пожалуйста программу.(Желательно каждую строчку в этой программе.)
Задание такое: Дана целочисленная квадратная матрица. Определить: Произведение в тех строках,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru