Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Andrew->
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 18:24     Ошибка 'N' was not declared in this scope #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
#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
Помогите чем нибуть. Все из за этих функций. без них делал все отлично было. но в задании надо с ними. заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2010, 18:24     Ошибка 'N' was not declared in this scope
Посмотрите здесь:

Ошибка: [Error] 'x' was not declared in this scope C++
C++ Ошибка cpp|7|error: 'itoa' was not declared in this scope
Ошибка 'Randomize' was not declared in this scope C++
Ошибка [Error] 'ofstream' was not declared in this scope C++
C++ Ошибка 'file' was not declared in this scope
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
12.01.2010, 18:34     Ошибка 'N' was not declared in this scope #2
C++
1
int N
->
C++
1
int N;
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
12.01.2010, 18:36     Ошибка 'N' was not declared in this scope #3
Цитата Сообщение от Andrew-> Посмотреть сообщение
вот такую програмку составил. но не пашет. пишет 6 d:\21 funk.cpp `N' was not declared in this scope
Помогите чем нибуть. Все из за этих функций. без них делал все отлично было. но в задании надо с ними. заранее спасибо
жуть, выложи как было без функций. проще показать как надо, чем исправить. и используй разметку кода

Добавлено через 32 секунды
Цитата Сообщение от Darky Посмотреть сообщение
C++
1
int N
->
C++
1
int N;
это тока начало
Andrew->
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 18:36  [ТС]     Ошибка 'N' was not declared in this scope #4
дальше вся прога правильная?
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
12.01.2010, 18:41     Ошибка 'N' was not declared in this scope #5
Была ошибка - я ее устранил. Все, что было в хэдере темы - исправлено.
п.с. прога, конечно, темный лес
Andrew->
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 18:44  [ТС]     Ошибка 'N' was not declared in this scope #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;
}
вот без функций
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
12.01.2010, 18:47     Ошибка 'N' was not declared in this scope #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;
}
Aleksandra
 Аватар для Aleksandra
4 / 4 / 2
Регистрация: 20.11.2009
Сообщений: 37
12.01.2010, 18:52     Ошибка 'N' was not declared in this scope #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 А
остается вопрос, так как массив динамический как отобразить его параметром, по ходу нужно использовать указатели...
Andrew->
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 18:52  [ТС]     Ошибка 'N' was not declared in this scope #9
задание:
дан массив целых чисел с кол.элементов n. проверить выполняется ли условие a[i]=-a[(n-1)-i], то есть является правая половина зеркальным отображением левой при смене знака на противоположный. если не является. то указать позиции первых несовпадающих элементов
Aleksandra
 Аватар для Aleksandra
4 / 4 / 2
Регистрация: 20.11.2009
Сообщений: 37
12.01.2010, 18:56     Ошибка 'N' was not declared in this scope #10
Думаю это все делается одной функцей, или задание в коде программы написать отдельно функцию для ввода массива и отдельную для выполнения условия??
Andrew->
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 18:59  [ТС]     Ошибка 'N' was not declared in this scope #11
ввод исходных данных, сама обработка и вывод в виде отдельных функций
Aleksandra
 Аватар для Aleksandra
4 / 4 / 2
Регистрация: 20.11.2009
Сообщений: 37
12.01.2010, 19:31     Ошибка 'N' was not declared in this scope #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;
}
Что смогла....
Andrew->
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 19:39  [ТС]     Ошибка 'N' was not declared in this scope #13
if(Array[i]==-Array[(n-1)-i])

ошибка

wrong type argument to unary minus
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
12.01.2010, 19:48     Ошибка 'N' was not declared in this scope #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, молодец (за старание)
Andrew->
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 19:58  [ТС]     Ошибка 'N' was not declared in this scope #15
а как сделать ввод исходных данных, саму обработку и вывод в виде отдельных функций
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2010, 20:22     Ошибка 'N' was not declared in this scope
Еще ссылки по теме:

Ошибка при создании класса библиотека: "'fflush' was not declared in this scope" C++
Ошибка `GetConsoleWindow' was not declared in this scope C++
C++ Ошибка "'price' was not declared in this scope"

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

Или воспользуйтесь поиском по форуму:
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
12.01.2010, 20:22     Ошибка 'N' was not declared in this scope #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;
}
Yandex
Объявления
12.01.2010, 20:22     Ошибка 'N' was not declared in this scope
Ответ Создать тему
Опции темы

Текущее время: 08:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru