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

Объясните пожалуйста код

30.11.2016, 19:57. Показов 1133. Ответов 4
Метки с (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include"stdafx.h"
#include<string.h>
#include <iostream>
 
using namespace std;
 
const int  MAX = 5;
 
struct polinom
{
    int stepen[30];
    int koifetient[30];
}polinom_list[MAX];
 
void init_list()
{
    register int t;
 
    for (t = 0; t<MAX; ++t) polinom_list[t].stepen[0] = '\0';
}
 
int find_free()
{
    register int t;
 
    for (t = 0; polinom_list[t].stepen[0] && t<MAX; ++t);
    if (t == MAX) return -1;
    return t;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.11.2016, 19:57
Ответы с готовыми решениями:

Объясните код пожалуйста
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main(){ int n; cin...

Объясните пожалуйста код
#include &lt;iostream&gt; template &lt;typename T&gt; struct NameOf {}; #define DEF_TYPENAME(type)...

Объясните, пожалуйста, код
bool userAgeIs16 = age == 16; if( userAgeIs16 ) { Console.WriteLine(\&quot;В этом возрасте уже...

объясните пожалуйста код
объясните пожалуйста код, желательно каждую строчку пояснить #include &lt;iostream&gt; #include...

4
J5
25 / 25 / 9
Регистрация: 22.12.2013
Сообщений: 107
30.11.2016, 20:18 2
Apollo1222, уточните, какие конкретно вам строки объяснить?
Навскидку:
C++
1
2
3
4
5
struct polinom//объявление структуры с названием полином которая состоит из
{
    int stepen[30];//массива с 30 элементами типа целых чисел
    int koifetient[30];//массива с 30 элементами типа целых чисел (т.е. всего 60, но разных по наименованию)
}polinom_list[MAX];//после объявления структуры данная строка сразу же создает массив из 5 (MAX = 5) элементов типа данной структуры.
1
93 / 91 / 62
Регистрация: 23.11.2013
Сообщений: 242
30.11.2016, 20:53 3
Лучший ответ Сообщение было отмечено Apollo1222 как решение

Решение

Apollo1222,
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
#include<string.h>
#include <iostream>
 
using namespace std;
 
// объявление глобальной целочисленной (int) констатнты MAX, кот. равная 5
const int  MAX = 5;
 
struct polinom // определение структуры polinom. Она состоит из:
{
    int stepen[30]; //  целочисленный (int) массив stepen из 30 элементов
    int koifetient[30]; // целочисленный (int) массив koifetient из 30 элементов
// глобальное объявление массива объектов (polinom_list) структуры polinom из 5(MAX) элементов
}polinom_list[MAX];
 
// функция, которая видимо предполагалась для инициализации структуры массива polinom_list...
// но что-то тут очень нездоровое творится =)
void init_list()
{
    // объявление целочисленной локальной переменной t
    // и рекомендация (sic!) по размещению её не в стеке, а в регистре процессора
    // (ИМХО сомневаюсь, что компилятор когда-нибудь в жизни последует этой рекомендации)
    register int t; 
 
// Цикл, который занесёт в первый элемент поля stepen цифру 0  для каждого элмента массива polinom_list
    for (t = 0; t<MAX; ++t) polinom_list[t].stepen[0] = '\0';
}
 
// функция, которая видимо предполагалась для поиска количества ненулевых полей stepen у массива polinom_list...
// но если сопоставить с предыдущей функцией void init_list(), то эта функция всегда будет возврвщать -1
int find_free()
{
    // объявление целочисленной локальной переменной t
    // и рекомендация (sic!) по размещению её не в стеке, а в регистре процессора
    // (ИМХО сомневаюсь, что компилятор когда-нибудь в жизни последует этой рекомендации)
    register int t;
 
    // Цикл, который будет инкрементировать t, пока первый элемент поля stepen равен 0 для polinom_list[t] или если t меньше 5(MAX)
    for (t = 0; polinom_list[t].stepen[0] && t<MAX; ++t);
    //если t равень 5(MAX), то возвращает -1 (видимо в случае ненайденных ненулевых массивов stepen в массиве polinom_list)
    if (t == MAX) return -1;
    // иначе возвращает значение t
    return t;
}
1
J5
25 / 25 / 9
Регистрация: 22.12.2013
Сообщений: 107
30.11.2016, 23:06 4
Lambont, чего вы так жестоко относительно register?) По поводу присваивания нуля, то скорее присваивание целочисленной переменной конечного нулевого символа, что само по себе странно, как вы заметили.
Цитата Сообщение от Lambont Посмотреть сообщение
for (t = 0; t<MAX; ++t) polinom_list[t].stepen[0] = '\0';
1
93 / 91 / 62
Регистрация: 23.11.2013
Сообщений: 242
01.12.2016, 00:22 5
Цитата Сообщение от J5 Посмотреть сообщение
чего вы так жестоко относительно register?)
Да не, просто подметил, что ключевое слово register практически никогда не использует компилятор, ну по крайней мере в практике он всегда игнорировал, не знаю даже какой такой должен быть случай, когда компилятор последует этому совету
Цитата Сообщение от J5 Посмотреть сообщение
По поводу присваивания нуля, то скорее присваивание целочисленной переменной конечного нулевого символа, что само по себе странно, как вы заметили.
Так '\0'==0 же, например int a = '\0'; откомпилит также, как и int a = 0;, вот я и написал про 0, хотя на вид выглядит, да, странненько. Мне вообще кажется исходя из 2 строки #include<string.h>, что изначально планировалось использовать строки и возможно поля структуры polinom должны были содержать char[] или std::string, а вот до кода донеслось только эхо в виде '\0'
0
01.12.2016, 00:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2016, 00:22
Помогаю со студенческими работами здесь

объясните, пожалуйста, код
есть программа, но не до конца понятно, что она делает... #include &lt;iostream&gt; #include &lt;vector&gt;...

Объясните код пожалуйста
FILE* fp = NULL; char* filename = &quot;m:\\2.txt&quot;; if ((fp = fopen(filename,&quot;r&quot;)) == NULL) ...

Объясните, пожалуйста, данный код
Здравствуйте, объясните пожалуйста построчно данный код. Задача: В одномерном массиве исключить...

Прошу объясните код пожалуйста
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; typedef long BT;...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru