Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 05.06.2017
Сообщений: 3
1

Функция не видит переменной

08.06.2017, 14:21. Показов 4862. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не до конца понимаю как работать с функциями, помогите решить проблему 77 строка.
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include <conio.h>
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
void znach()
{   
 int N;
        cout << "Введите размерность массива: ";
        cin >> N;
        
    int A[N];
    int i;
    for(i = 0; i < N; i++)
    {
        A[i] = rand()%10-1;
        cout << A[i] << "  ";
    }
    int chper, chvt, result = 1;
    int Max = A[0];
    int chmax = 0;
for(i = 1; i < N; i ++)
    {
        if(Max < A[i])
        {
            Max = A[i];
            chmax = i;
        }
    }
    cout << "\n\n\n\t\tМаксимальное число в массиве: " << Max << endl;
    cout << "\t\tИндекс макс. элемента: " << chmax  << endl << endl;
    for(i = 0; i < N; i ++)
    {
        if(A[i] == 0)
        {
            chper = i; 
            i = N; 
        }
    }
    if(chper < 0)
    {
        cout << "\t\tНулей нет" << endl;
        
    }
    else
    {
        cout << "\t\tНомер первого нулевого элемента: " << chper << endl;
    }
    for(i = chper + 1; i < N; i ++)
    {
        if(A[i] == 0)
        {
            chvt = i; 
            i = N; 
        }
    }
    if(chper < chvt)
    {
        cout << "\t\tВторого нуля нету" << endl;
       
    }
    else
    {
        cout << "\t\tНомер второго нулевого элемента: " << chvt << endl;
    }
    for(i = chper + 1; i < chvt; i ++)
    {
        result *= A[i];
    }
    if(chvt - chper == 1)
        result = 0;
    cout << "\t\tпроизведение : " << result << endl << endl ;
}
void preo()
{
int B[N], j = N/2, k = 0;
    for(i= 0; i < N; i ++)
    {
        if((i+1)%2 ==0)
        {
            B[j] = A[i];
            j++;
        }
        else
        {
            B[k] = A[i];
            k++;
        }
    }
    {
    cout << "Преобразование : ";
    for(i=0;i< N; i++)
    {
        cout << B[i]<< "  ";
    }
    
    }       
}
int main()
{   
    setlocale(LC_ALL, "Russian");
        srand(time(0));
    znach();
    cout<<endl;
    preo();
    _getch(); 
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2017, 14:21
Ответы с готовыми решениями:

Не видит значение переменной
Не видит значение переменной которая объявлена в заг. файле и там же ей назначается строка....

Не видит значение переменной
Не в выводит переменную которая назначается в mainwindow.cpp во 2 форму. Должен выводить в...

Не видит значение переменной
Здравствуйте форумчане! Подскажите пожалуйста почему студия не видит значение переменной &quot;xd&quot; ...

Облать видимости переменной, не понимаю почему не видит
компилятор выдает ошибку что переменной Form1Opened не присвоено значение, а значит он думает что...

4
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
08.06.2017, 14:27 2
blo111, когда вы объявляете переменную внутри функции - область видимости переменной ограничена этой функцией. То есть другие функции её не увидят. Используйте параметры функции для передачи значений от одной к другой.
0
0 / 0 / 0
Регистрация: 05.06.2017
Сообщений: 3
08.06.2017, 15:10  [ТС] 3
Не могли бы вы предоставить какой-нибудь наглядный пример?

Добавлено через 6 минут
MrGluck, Не могли бы вы предоставить какой-нибудь наглядный пример?
0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
08.06.2017, 15:17 4
что бы не задавать много вопросов перейдите и почитайте
http://cppstudio.com/post/396/

Добавлено через 2 минуты
а так же что такое область видимости https://ru.wikipedia.org/wiki/... 1%82%D0%B8
0
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 846
08.06.2017, 19:03 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
 
typedef struct Task_s {
  size_t N;
  double *xs;
} Task_t;
 
void task_initialize_zero(Task_t *task, size_t N)
{
  task->N = N;
  task->xs = calloc(N, sizeof(double));
}
 
void task_initialize_rand(Task_t *task, size_t N)
{
  task_initialize_zero(task, N);
  for (size_t i = 0; i < N; i++) {
    task->xs[i] = 10.0 * ((double)rand()) / RAND_MAX;
  }
}
 
void task_print(Task_t *task)
{
  for (size_t i = 0; i < task->N; i++) {
    printf("%.2f ", task->xs[i]);
  }
  printf("\n");
}
 
void task_free(Task_t *task)
{
  free(task->xs);
  task->xs = 0;
}
 
int main()
{
  Task_t task;
 
  task_initialize_rand(&task, 10);
  task_print(&task);
  task_free(&task);
 
  return 0;
}
0
08.06.2017, 19:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.06.2017, 19:03
Помогаю со студенческими работами здесь

Функция не видит vector
Функция не видит vector Что я делаю не так ??? жду помощи #include &quot;stdafx.h&quot; #include...

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

функция не видит переменную
Функция не видит переменную! Что нужно сделать чтобы функция видела переменную? $lang = &quot;)))&quot;;...

Функция не видит бинарный файл
Ну вообщем, функция не видит файл &quot;Stud_Info&quot; который я создал в папке &quot;practuka&quot; FILE* f =...

Функция не видит массив и вектор
Подскажите почему функция не видит вектор phone_book #include &lt;iostream&gt; #include &lt;string&gt;...

Функция не видит элементы на форме
public static void global() { } На форме есть текстовое поле, но его не...


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

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