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

Идентифираторы не определены!немогу пофиксить! - C++

Восстановить пароль Регистрация
 
Refreshfx
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 8
17.06.2013, 04:52     Идентифираторы не определены!немогу пофиксить! #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
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
//#pragma argsused
#include <iostream>
#include <time.h>
#include <windows>
#include <math.h>
#include <random>
#pragma hdrstop
#pragma comment(lib  ,"Ws2_32.lib" )
void insert (int *a, int n) // ФУНКЦИЯ ВСТАВОК
{
int i, j, t; // объявление переменных
for (i=1; i<n; i++)
{
t=a [i] ; // запоминается элемент для вставки
for (j=i-1; j>=0 && t<a [j] ; j--) // ищем место для вставки
a [j+1] =a [j] ; // сдвиг на одну позицию
a [j+1] =t;
}
}
void buble (int *a, int n) // функция пузырька
{
int i,j,t; // объявление переменных
for (i = 0; i <= n-1; i++)
{
for (j = 0; j <= n-2-i; j++)
{
if (a [j] >a [j+1]) // сравниваем пару соседних элементов
{
t = a [j] ; // и меняем их местами если это требуется
a [j] = a [j+1] ;
a [j+1] = t;
}
}
}
}
int main (int argc, char* argv [])
{
char b;
int n;
typedef long clock_t; // тип данных времени
clock_t t; // t - время выполнения программы
char str1 [100] = "Введите количество элементов для сортировки: ";
char str2 [100] ;
char str3 [100] ;
CharToOem (str1 ,buf);
std::cout<<buf<<std::endl;
std::cin>>n;
int* a=new int; // создание, указание кол-ва элементов
randomize (); // и заполнение массива
for (int i=0; i<=n; i++)
a [i] = Random (50) - 30;
strcpy (str1,"Первичный массив: ");
CharToOem (str1, buf);
std::cout<<buf<<std::endl;
for (int i=0; i<n; i++)
{
std::cout<<" a ["<<i<<"] ="<<a [i] <<' ';
if (! ( (i+1)%5)) std::cout << "\n"; // массив выводится по 5 значений в строке
};
std::cout<<std::endl;
strcpy (str1,"Выберите тип сортировки: ");
strcpy (str2,"1. Сортировка методом простых вставок");
strcpy (str3,"2. Сортировка методом пузырька ");
CharToOem (str1, buf);
CharToOem (str2, buf);
CharToOem (str3, buf);
std::cout<<buf<<std::endl
<<buf<<std::endl
<<buf<<std::endl;
std::cin>>b;
strcpy (str1,"Отсортированные элементы: ");
CharToOem (str1, buf);
std::cout<<buf<<std::endl;
if (b='1')
{
insert (a,n); // вызов функции сортировки
}
if (b='2')
{
buble (a,n); // вызов функции
}
for (int i=0; i<n; i++)
{
std::cout<<" a ["<<i<<"] ="<<a [i] <<' ';
if (! ( (i+1)%5)) std::cout << "\n";
}
std::cout<<std::endl; // подсчёт времени выполнения программы
strcpy (str1,"Время сортировки в мс: ");
CharToOem (str1, buf);
std::cout<<buf<<std::endl;
t= (clock () /CLOCKS_PER_SEC) * 60; // функция clock () возвращает время исп программы
std::cout<<t; // как значение типа clock_t объявленного ранее это // значение можно перевести в секунды
// поделив на определенную в библиотеке time. h константу CLOCKS_PER_SEC
getchar ();
getchar ();
return 0; }
Миниатюры
Идентифираторы не определены!немогу пофиксить!  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newyork7776
 Аватар для newyork7776
346 / 339 / 79
Регистрация: 21.05.2013
Сообщений: 1,305
Завершенные тесты: 1
17.06.2013, 05:10     Идентифираторы не определены!немогу пофиксить! #2
1-#include <windows.h>
2-
C++
1
a [i] = Random (50) - 30;
напиши
C++
1
2
3
4
5
6
#include <time.h>
 
в самой main вначале
             srand(time(NULL));
а когда будеш записывать числа в масив
a[i] = rand()%10-5;//10-5 диапазон
Добавлено через 1 минуту
я б удалил
C++
1
#include <random>
Добавлено через 47 секунд
а так вроде програма должна работать
просто нету на чем запускать =(

Добавлено через 2 минуты
+ напиши в main
C++
1
setlocale(LC_ALL, "Russian");
русский текст нормально выводило
Refreshfx
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 8
17.06.2013, 05:28  [ТС]     Идентифираторы не определены!немогу пофиксить! #3
Спасибо)ошибки исчезли только появились новые,я просто чайник в программирование так что ГГ(

Добавлено через 40 секунд
и мне кажется что все тобой выше сказанное не правильно вписал(

Добавлено через 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
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
#include <iostream>
#include <time.h>
#include <math.h>
#include <windows.h>
#include <stdio.h> 
#include <cstdlib>
#include <stdlib.h>
#pragma hdrstop
#pragma comment(lib  ,"Ws2_32.lib" )
using namespace std;
int insert (int *a, int n) // ФУНКЦИЯ ВСТАВОК
{
int i, j, t; // объявление переменных
for (i=1; i<n; i++)
{
t=a [i] ; // запоминается элемент для вставки
for (j=i-1; j>=0 && t<a [j] ; j--) // ищем место для вставки
a [j+1] =a [j] ; // сдвиг на одну позицию
a [j+1] =t;
}
}
int buble (int *a, int n) // функция пузырька
{
int i,j,t; // объявление переменных
for (i = 0; i <= n-1; i++)
{
for (j = 0; j <= n-2-i; j++)
{
if (a [j] >a [j+1]) // сравниваем пару соседних элементов
{
t = a [j] ; // и меняем их местами если это требуется
a [j] = a [j+1] ;
a [j+1] = t;
}
}
}
int main (int argc, char* argv [])
{
char b;
int n;
typedef long clock_t; // тип данных времени
clock_t t; // t - время выполнения программы
char str1 [100] = "Введите количество элементов для сортировки: ";
char str2 [100] ;
char str3 [100] ;
CharToOem (str1 ,buf);
std::cout<<buf<<std::endl;
std::cin>>n;
int* a=new int; // создание, указание кол-ва элементов
randomize (); // и заполнение массива
for (int i=0; i<=n; i++)
a [i] = Random (50) - 30;
strcpy (str1,"Первичный массив: ");
CharToOem (str1, buf);
std::cout<<buf<<std::endl;
for (int i=0; i<n; i++)
{
std::cout<<" a ["<<i<<"] ="<<a [i] <<' ';
if (! ( (i+1)%5)) std::cout << "\n"; // массив выводится по 5 значений в строке
};
std::cout<<std::endl;
strcpy (str1,"Выберите тип сортировки: ");
strcpy (str2,"1. Сортировка методом простых вставок");
strcpy (str3,"2. Сортировка методом пузырька ");
CharToOem (str1, buf);
CharToOem (str2, buf);
CharToOem (str3, buf);
std::cout<<buf<<std::endl
<<buf<<std::endl
<<buf<<std::endl;
std::cin>>b;
strcpy (str1,"Отсортированные элементы: ");
CharToOem (str1, buf);
std::cout<<buf<<std::endl;
if (b='1')
{
insert (a,n); // вызов функции сортировки
}
if (b='2')
{
buble (a,n); // вызов функции
}
for (int i=0; i<n; i++)
{
std::cout<<" a ["<<i<<"] ="<<a [i] <<' ';
if (! ( (i+1)%5)) std::cout << "\n";
}
std::cout<<std::endl; // подсчёт времени выполнения программы
strcpy (str1,"Время сортировки в мс: ");
CharToOem (str1, buf);
std::cout<<buf<<std::endl;
t= (clock () /CLOCKS_PER_SEC) * 60; // функция clock () возвращает время исп программы
std::cout<<t; // как значение типа clock_t объявленного ранее это // значение можно перевести в секунды
// поделив на определенную в библиотеке time. h константу CLOCKS_PER_SEC
getchar ();
getchar ();
return 0; }
и там теперь 3 ошибки
C++
1
2
3
4
5
Ошибка  1   error C2601: main: недопустимые локальные определения функций   c:\users\asus\documents\visual studio 2010\projects\124йцу\124йцу\йцауйпа.cpp   38  1   124йцу
 
Ошибка  2   error C1075: конец файла обнаружен ранее, чем левая фигурная скобка "{" в "c:\users\asus\documents\visual studio 2010\projects\124йцу\124йцу\йцауйпа.cpp(23)"   c:\users\asus\documents\visual studio 2010\projects\124йцу\124йцу\йцауйпа.cpp   98  1   124йцу
 
    3   IntelliSense: требуется точка с запятой ";" c:\users\asus\documents\visual studio 2010\projects\124йцу\124йцу\йцауйпа.cpp   38  1   124йцу
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
17.06.2013, 06:13     Идентифираторы не определены!немогу пофиксить! #4
Цитата Сообщение от Refreshfx Посмотреть сообщение
шибка* 1 * error C2601: main: недопустимые локальные определения функций
Разберись с операторными скобками предшествующих функций. Функции должны быть глобальными, а main оказалась внутри другой функции.
newyork7776
 Аватар для newyork7776
346 / 339 / 79
Регистрация: 21.05.2013
Сообщений: 1,305
Завершенные тесты: 1
17.06.2013, 10:11     Идентифираторы не определены!немогу пофиксить! #5
C++
1
buf
а что вы хотели сделать с переменной?зачем она?
Yandex
Объявления
17.06.2013, 10:11     Идентифираторы не определены!немогу пофиксить!
Ответ Создать тему
Опции темы

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