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

Ошибка 'N' was not declared in this scope

12.01.2010, 18:24. Показов 22612. Ответов 15
Метки нет (Все метки)

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
#include <iostream>
using namespace std;
int N
int vvod(int N,int A[N],int I)
{
    cout<<"Vvedite kolichestvo elementov v massive:"<<endl;
    cin>>N;};
    cout<<"Vvedite massiv:"<<endl;
    for(I=0;I<N;++I)
    cin>>A[I];
}
int proverka(int J,int M,int A1[M])
{
    for(J=0;A1[J]==-A1[(M-1)-J];++J)
    {
                                    if(J==M/2-1)
                                    break;
    }
}
int vivod(int I1,int K,int A2[K])
{
    if(A2[I1]==-A2[(K-1)-I1])
        cout<<"Yes."<<endl;
    else
        cout<<"NO: "<<I1<<", "<<(K-1)-I1<<"."<<endl;
}
 
int main()
{
    int n,i,a[n];
    vvod(n,a[n],i);
    proverka(i,n,a[n]);
    vivod(i,n,a[n]);
    return 0;
}
вот такую програмку составил. но не пашет. пишет 6 d:\21 funk.cpp `N' was not declared in this scope
Помогите чем нибуть. Все из за этих функций. без них делал все отлично было. но в задании надо с ними. заранее спасибо
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2010, 18:24
Ответы с готовыми решениями:

'arr' was not declared in this scope 'sum' was not declared in this scope такие вот ошибки.(
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int main () { ...

Ошибка was not declared in this scope
main. cpp #include &quot;PoolAllocator.h&quot; ... reqs.addr = Allocate(reqs.bytes, 10); ...

Ошибка was not declared in this scope
Как мне её исправить polimorfizm1881.cpp: In function ‘int main()’: polimorfizm1881.cpp:38:29:...

Ошибка `GetConsoleWindow' was not declared in this scope
На Microsoft Visual Studio 2010 работает все, запускаю на C-Free 5, выдает ошибки. Библиотеки вроде...

15
Быдлокодер
510 / 297 / 84
Регистрация: 22.11.2009
Сообщений: 892
12.01.2010, 18:34 2
C++
1
int N
->
C++
1
int N;
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
12.01.2010, 18:36 3
Цитата Сообщение от Andrew-> Посмотреть сообщение
вот такую програмку составил. но не пашет. пишет 6 d:\21 funk.cpp `N' was not declared in this scope
Помогите чем нибуть. Все из за этих функций. без них делал все отлично было. но в задании надо с ними. заранее спасибо
жуть, выложи как было без функций. проще показать как надо, чем исправить. и используй разметку кода

Добавлено через 32 секунды
Цитата Сообщение от Darky Посмотреть сообщение
C++
1
int N
->
C++
1
int N;
это тока начало
0
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 18:36  [ТС] 4
дальше вся прога правильная?
0
Быдлокодер
510 / 297 / 84
Регистрация: 22.11.2009
Сообщений: 892
12.01.2010, 18:41 5
Была ошибка - я ее устранил. Все, что было в хэдере темы - исправлено.
п.с. прога, конечно, темный лес
0
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 18:44  [ТС] 6
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
#include<iostream>
 
using namespace std;
 
int main()
{
    cout<<"Vvedite kolichestvo elementov v massive:"<<endl;
    int n;
    cin>>n;
    cout<<"Vvedite massiv:"<<endl;
    int a[n];
    int i;
    
    for(i=0;i<n;++i)
    cin>>a[i];
    
    
    if(a[i]==-a[(n-1)-i])
        cout<<"Ïðàâàÿ ïîëîâèíà ìàññèâà ÿâëÿåòñÿ çåðêàëüíûì îòðàæåíèåì ëåâîé ïðè ñìåíå çíàêà íà ïðîòèâîïîëîæíûé."<<endl;
    else
        cout<<"Ïðàâàÿ ïîëîâèíà ìàññèâà íå ÿâëÿåòñÿ çåðêàëüíûì îòðàæåíèåì ëåâîé ïðè ñìåíå çíàêà íà ïðîòèâîïîëîæíûé. Ïîçèöèè íåñîâïîäàþùèõ ýëåìåíòîâ: "<<i<<", "<<(n-1)-i<<"."<<endl;
        int f;
        cin>>f;
    
    return 0;
}
вот без функций
0
Быдлокодер
510 / 297 / 84
Регистрация: 22.11.2009
Сообщений: 892
12.01.2010, 18:47 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Я незнаю что должна делать эта программа, но так она хотя бы становится яснее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
#define N 255
using namespace std;
 
int main()
{
  cout<<"Vvedite kolichestvo elementov v massive:"<<endl;
    int n;
    cin>>n;
  cout<<"Vvedite massiv:"<<endl;
    int a[N];
    int i;
  for(i=0;i<n;++i)
  {
      cin>>a[i];
    if(a[i]==-a[(n-1)-i])
      cout<<"first"<<endl;
    else
      cout<<"second "<<i<<", "<<(n-1)-i<<"."<<endl;
  }
return 0;
}
0
4 / 4 / 3
Регистрация: 20.11.2009
Сообщений: 37
12.01.2010, 18:52 8
Я еще о разборе полетов по поводу функций, так как сама сейчас на этой теме....
Я тоже новичок, так что если что, исправте....
На сколько я знаю:
1)функции не имеющие возвращаемого значения употребляются со словом void, тоесть всесто int vvod нужно void vvod и остальные функции соответственно,.
2)int vvod(int N,int A[N],int I)
{
cout<<"Vvedite kolichestvo elementov v massive:"<<endl;
cin>>N;}; и на этом твоя функция заканчивается, а дальше просто код, который даже не в основной программе, соответственно не понимаю присудствия тут закрывающей скобки
3) I, J это просто локальные переменные, которые не являются параметрами
4) если параметром функции является массив, то его имя и кол-во элементов передаются как аргументы, подчеркиваю имя, тоесть просто int А
остается вопрос, так как массив динамический как отобразить его параметром, по ходу нужно использовать указатели...
0
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 18:52  [ТС] 9
задание:
дан массив целых чисел с кол.элементов n. проверить выполняется ли условие a[i]=-a[(n-1)-i], то есть является правая половина зеркальным отображением левой при смене знака на противоположный. если не является. то указать позиции первых несовпадающих элементов
0
4 / 4 / 3
Регистрация: 20.11.2009
Сообщений: 37
12.01.2010, 18:56 10
Думаю это все делается одной функцей, или задание в коде программы написать отдельно функцию для ввода массива и отдельную для выполнения условия??
0
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 18:59  [ТС] 11
ввод исходных данных, сама обработка и вывод в виде отдельных функций
0
4 / 4 / 3
Регистрация: 20.11.2009
Сообщений: 37
12.01.2010, 19:31 12
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include <iostream>
using namespace std;
int i;// эта переменная должна быть глобальной, но нз правильно ли я ее задала
void Vvod ()
{
    cout<<"Vvedite kolichestvo elementov v massive:"<<endl;
    int n;
    cin>>n;
    cout<<"Vvedite massiv:"<<endl;
    int Array[n];
    for(int i=0;i<n;++i)
        cin>>Array[i];
}
bool  proverka(int **Array, int n, bool k)//так ли задается динамический массив как параметр?
{
    for(i=0;i<n;++i)
    {
        if(Array[i]==-Array[(n-1)-i])
            k=true;
    }
return k;
}
void Vuvod(bool m)
{
    if(m==false)
        cout<<"not"<<i<<", "<<(n-1)-i".\n";
    else 
        cout<<"yes";
}
int main()
{
void Vvod();
bool m=proverka(Array,n,k);
void Vuvod(m);
system ("pause");
return 0;
}
Что смогла....
1
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 19:39  [ТС] 13
if(Array[i]==-Array[(n-1)-i])

ошибка

wrong type argument to unary minus
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
12.01.2010, 19:48 14
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
/*
задание:
дан массив целых чисел с кол.элементов n. проверить выполняется ли условие a[i]=-a[(n-1)-i], то есть является правая половина зеркальным отображением левой при смене знака на противоположный. если не является. то указать позиции первых несовпадающих элементов*/
 
#include<iostream>
 
using namespace std;
 
int CheckMirror(int * a, int n)
{
    for(int i=0; i<n/2; i++)
        if(a[i]!=-a[(n-1)-i])
            return i;
 
    return -1;
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n, res;
    
    cout<<"Введите количество элементов в массиве: "; 
    cin>>n;
    int * arr = new int[n];
    cout<<"Введите элементы массива: "<<endl;
    
    for(int i=0;i<n;++i)    { cout<<"["<<i+1<<"] "; cin>>arr[i]; }
 
    if((res=CheckMirror(arr, n))==-1)
        cout<<"Правая половина массива является зеркальным отражением левой при смене знака на противоположный."<<endl;
    else
        cout<<"Правая половина массива не является зеркальным отражением левой при смене знака на противоположный. Позиции несовподающих элементов: "<<res+1<<", "<<n-res<<"."<<endl;
 
 
    system("pause");
    return 0;
}
Добавлено через 33 секунды
Aleksandra, молодец (за старание)
0
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 19:58  [ТС] 15
а как сделать ввод исходных данных, саму обработку и вывод в виде отдельных функций
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
12.01.2010, 20:22 16
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
/*
задание:
дан массив целых чисел с кол.элементов n. проверить выполняется ли условие a[i]=-a[(n-1)-i], то есть является правая половина зеркальным отображением левой при смене знака на противоположный. если не является. то указать позиции первых несовпадающих элементов*/
 
#include<iostream>
 
using namespace std;
 
int * Input(int &n) // &n - это ссылка на n в функции main, если в этой функции мы изменим значении n то в main оно тоже поменяется
{
    cout<<"Введите количество элементов в массиве: ";       
    cin>>n;
    int * arr = new int[n]; // выделяем память под массив данных
    cout<<"Введите элементы массива: "<<endl;
 
    for(int i=0;i<n;++i)    { cout<<"["<<i+1<<"] "; cin>>arr[i]; }
 
    return arr;   // возвращаем указатель на массив данных
}
 
int CheckMirror(int * a, int n)
{
    for(int i=0; i<n/2; i++)
        if(a[i]!=-a[(n-1)-i]) // выполняем цикл пока не встретим несоответствие
            return i;           // если встретили возвращаем позицию не соответсвия
 
    return -1;        // возвращаем условный символ что всё отлично
}
 
void Output(int res, int n)
{
    if(res==-1)
        cout<<"Правая половина массива является зеркальным отражением левой при смене знака на противоположный."<<endl;
    else
        cout<<"Правая половина массива не является зеркальным отражением левой при смене знака на противоположный. Позиции несовподающих элементов: "<<res+1<<", "<<n-res<<"."<<endl;
 
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n, res;
    int * arr = NULL;
 
    arr=Input(n);
  res = CheckMirror(arr, n);
    Output(res , n);    
 
 
    system("pause");
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2010, 20:22

Ошибка: [Error] 'x' was not declared in this scope
Не могу понять в чём ошибка. Компилятор пишет что в строке cin&gt;&gt;x.name&gt;&gt;x.surname&gt;&gt;x.number; ....

Ошибка 'Randomize' was not declared in this scope
Сегодня - первый день, когда я что-то &quot;создаю&quot; на языке с++, поэтому я с ним на &quot;Вы&quot;. Собственно,...

Ошибка 'file' was not declared in this scope
Здравствуйте! Помогите кто чем может) в общем она перезаписывает сначала данные 1.txt в 3.txt, а...

Ошибка: 'sqrt' was not declared in this scope
Здравствуйте! У меня такая проблема, во время компилирования выдает такую ошибку: 9 27 E:\Zadacha...


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

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

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