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

Не хочет компилироваться, код верный - C++

Восстановить пароль Регистрация
 
nevadch
 Аватар для nevadch
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 23
08.06.2014, 23:02     Не хочет компилироваться, код верный #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
#include<iostream.h>
const n=50;
void main()
{
int* m = new int n;
int k,i,c,f;
cout<<"\nВведите количество элементов массива(<=50)";
cin>>k;
cout<<"\nВведите "<<k<<" чисел";
for(i=1;i<k+1;i++)
    cin>>m[i];
do
{
f=1;
for(i=1;i<k;i++)
    if (m[i]>m[i+1])
    {
        c=m[i];
        m[i]=m[i+1];
        m[i+1]=c;
        f=0;
    }
}while(f==1);
cout<<"Отсортирован массив";
for(i=1;i<k+1;i++)
    cout<<m[i]<<" ";
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 300
08.06.2014, 23:12     Не хочет компилироваться, код верный #2
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
#include <iostream>
const int n = 50;
void main()
{
    int m[n];
    int k, i, c, f;
    cout << "\nВведите количество элементов массива(<=50)";
    cin >> k;
    cout << "\nВведите " << k << " чисел";
    for (i = 1; i<k + 1; i++)
        cin >> m[i];
    do
    {
        f = 1;
        for (i = 1; i<k; i++)
            if (m[i]>m[i + 1])
            {
            c = m[i];
            m[i] = m[i + 1];
            m[i + 1] = c;
            f = 0;
            }
    } while (f == 1);
    cout << "Отсортирован массив";
    for (i = 1; i<k + 1; i++)
        cout << m[i] << " ";
}
nevadch
 Аватар для nevadch
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 23
08.06.2014, 23:16  [ТС]     Не хочет компилироваться, код верный #3
....main.cpp `cout' undeclared (first use this function)
....main.cpp `cin' undeclared (first use this function)
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 300
08.06.2014, 23:18     Не хочет компилироваться, код верный #4
#include <iostream> замены на #include <iostream.h>
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.06.2014, 23:22     Не хочет компилироваться, код верный #5
Цитата Сообщение от nevadch Посмотреть сообщение
....main.cpp `cout' undeclared (first use this function)
....main.cpp `cin' undeclared (first use this function)
C++
1
2
#include <iostream>
using namespace std;
Jewbacabra
1791 / 1506 / 540
Регистрация: 24.04.2014
Сообщений: 4,238
08.06.2014, 23:25     Не хочет компилироваться, код верный #6
Цитата Сообщение от user-men Посмотреть сообщение
#include <iostream> замены на #include <iostream.h>
не надо ничего менять.
C++
1
2
std::cin
std::cout
если лень писать std::, то после подключения заголовочного файла добавить
C++
1
2
using std::cin;
using std::cout;
или
C++
1
using namespace std;
nevadch
 Аватар для nevadch
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 23
08.06.2014, 23:27  [ТС]     Не хочет компилироваться, код верный #7
Спасибо вам, но не работает дальше. Зависает после количества введенных чисел...
Jewbacabra
1791 / 1506 / 540
Регистрация: 24.04.2014
Сообщений: 4,238
08.06.2014, 23:29     Не хочет компилироваться, код верный #8
Цитата Сообщение от user-men Посмотреть сообщение
for (i = 1; i<k + 1; i++)
индексы массивов начинаются с 0
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 300
08.06.2014, 23:32     Не хочет компилироваться, код верный #9
я так понимаю вы хотите сортировать массив попробуйте так
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
#include <iostream.h> 
#include <conio.h>
 
int main()
{
    int mas[10];
    int i,k,tum;
    for (i = 0; i < 10; i++)
    {
        cin >> mas[i];
    }
    for (i = 9; i >= 1; i--)
    {
        for (int k = 0; k < i; k++)
        {
            if (mas[k]>mas[k + 1])
            {
                tum = mas[k];
                mas[k] = mas[k + 1];
                mas[k + 1] = tum;
            }
        }
    }
 
    for (i = 0; i < 10; i++)
    {
        cout << mas[i]<<" | ";
    }
    getch();
    return 0;
}
nevadch
 Аватар для nevadch
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 23
08.06.2014, 23:36  [ТС]     Не хочет компилироваться, код верный #10
Цитата Сообщение от Jewbacabra Посмотреть сообщение
for (i = 1; i<k + 1; i++)
индексы массивов начинаются с 0
Не понял

Добавлено через 3 минуты
Цитата Сообщение от user-men Посмотреть сообщение
я так понимаю вы хотите сортировать массив попробуйте так
Всё верно, но нужен результат именно предложенного кода. А он не рабочий.
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 300
08.06.2014, 23:37     Не хочет компилироваться, код верный #11
Цитата Сообщение от Jewbacabra Посмотреть сообщение
не надо ничего менять.
Все зависит от компилятора если у автора C++ turbo 3.0 тогда вы не правы, ему подойдет только #include <iostream.h>
Jewbacabra
1791 / 1506 / 540
Регистрация: 24.04.2014
Сообщений: 4,238
08.06.2014, 23:38     Не хочет компилироваться, код верный #12
Цитата Сообщение от nevadch Посмотреть сообщение
Не понял
индекс первого элемента массива 0 а не 1.
А еще лучше возьми нормальную книгу по C++ и почитай про массивы, так будет больше пользы
nevadch
 Аватар для nevadch
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 23
08.06.2014, 23:39  [ТС]     Не хочет компилироваться, код верный #13
У меня DevC++ 4.9
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 300
08.06.2014, 23:42     Не хочет компилироваться, код верный #14
Цитата Сообщение от nevadch Посмотреть сообщение
Всё верно, но нужен результат именно предложенного кода. А он не рабочий.
Я не уверен но думаю одним циклом невозможно сортировать массив а моя программа почти такая же только другой цикл
Jewbacabra
1791 / 1506 / 540
Регистрация: 24.04.2014
Сообщений: 4,238
08.06.2014, 23:44     Не хочет компилироваться, код верный #15
user-men, а вдруг у автора Электроника МК-61 http://ru.wikipedia.org/wiki/%D0%AD%...D0%9C%D0%9A-61 Тогда что надо подключать?
Цитата Сообщение от user-men Посмотреть сообщение
C++ turbo 3.0
это еще в прошлом веке устарело
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 300
08.06.2014, 23:44     Не хочет компилироваться, код верный #16
Цитата Сообщение от Jewbacabra Посмотреть сообщение
индекс первого элемента массива 0 а не 1.
ну да но если автор написал в коде
C++
1
for (i = 1; i<k + 1; i++)
это не ошибка просто нулевой элемент не заполняется
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2014, 23:46     Не хочет компилироваться, код верный
Еще ссылки по теме:

C++ программа не хочет видеть код функции
C++ После легкой модификации кода он перестал компилироваться
Почему не хочет работать код? C++

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

Или воспользуйтесь поиском по форуму:
Jewbacabra
1791 / 1506 / 540
Регистрация: 24.04.2014
Сообщений: 4,238
08.06.2014, 23:46     Не хочет компилироваться, код верный #17
Цитата Сообщение от user-men Посмотреть сообщение
это не ошибка просто нулевой элемент не заполняется
а если k = 50 (по условию это корректные данные)
Yandex
Объявления
08.06.2014, 23:46     Не хочет компилироваться, код верный
Ответ Создать тему
Опции темы

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