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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vipCODe
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 17
#1

Не компилируется программа. Нужно исправить ошибки. - C++

19.12.2011, 17:40. Просмотров 376. Ответов 8
Метки нет (Все метки)

Переводил с паскаля на С++ программку. Вроде все правильно, но не компилируется. С ошибками устал бороться... Помогите, пожалуйста.
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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int sum(int n)
{
    for (int i=0,j=0;i<n;i++)
    {
        if (a[i]>0)
        {
           j++;
        }
    }
return j;
}
 
int main()
{
    int i,n,a[n];
    srand(time(NULL));
    cout<<"Vvedite razmer massiva: "
    cin>>n;
    cout<<"Ishodnyi massiv: ";
    for (i=0;i<n;i++)
    {
        a[i]=rand()%20-10;
        cout<<a[i]<<"  ";
    }
    cout<<"\nKolichestvo polojitelnyh: "<<sum();
    return 0;
}
Вот сама задача:
Написать и протестировать функцию, подсчитывающую количество положительных элементов в массиве.
Вот программа на паскале, которая работает (если кому понадобится):

Не по теме:

Pascal
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
var a:array[1..100] of integer;
i,n:integer;
function sum():integer;
var i,j:integer;
begin
for i:=1 to n do begin
if (a[i]>0) then
inc (j);
end;
sum:=j;
end;
 
begin
randomize;
write('Введите размер массива: ');
readln(n);
writeln('Исходный массив: ');
for i:=1 to n do begin
a[i]:=random(20)-10;
write(a[i],' ');
end;
writeln;
write('Количество положительных: ',sum());
 
end.

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2011, 17:40     Не компилируется программа. Нужно исправить ошибки.
Посмотрите здесь:
Нужно исправить ошибки C++
Нужно исправить ошибки C++
Нужно исправить ошибки) C++
C++ нужно исправить ошибки)
Нужно исправить ошибки в программе C++
нужно исправить ошибки в коде C++
Нужно исправить 2 ошибки в коде C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
19.12.2011, 17:42     Не компилируется программа. Нужно исправить ошибки. #2
Не вижу где создан массив a.
vipCODe
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 17
19.12.2011, 17:46  [ТС]     Не компилируется программа. Нужно исправить ошибки. #3
Цитата Сообщение от Chelioss Посмотреть сообщение
Не вижу где создан массив a.
исправил шапку
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
19.12.2011, 17:48     Не компилируется программа. Нужно исправить ошибки. #4
Тоже не вижу массив a
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
19.12.2011, 17:48     Не компилируется программа. Нужно исправить ошибки. #5
Размер массива должен быть известен на момент компиляции.
Если вам надо создавать массив разной длины, то используйте стандартный класс vector или работайте с динамической памятью.
vipCODe
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 17
19.12.2011, 18:00  [ТС]     Не компилируется программа. Нужно исправить ошибки. #6
Можете ли вы составить данную программу? (Хотяб с готовым размером массива.) А то уже весь день сижу голову ломаю... Я только начинаю программировать, поэтому сильно пожалуйста не пинайте =)
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
19.12.2011, 18:06     Не компилируется программа. Нужно исправить ошибки. #7
А книги читать не хотите? Думаете во одному вопросу в день на форуме быстрее будет?
vipCODe
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 17
19.12.2011, 18:11  [ТС]     Не компилируется программа. Нужно исправить ошибки. #8
Цитата Сообщение от Chelioss Посмотреть сообщение
А книги читать не хотите? Думаете во одному вопросу в день на форуме быстрее будет?
Читаю "Самоучитель С++ с задачами и примерами", автор Васильев А.Н.
Но разобраться никак не могу... Пожалуйста, помогите с данной задачей... Впереди зачетная неделя, а оставлять на потом поздно...

Не по теме:

С помощью книги смог решить остальные 6 задач =)

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2011, 18:51     Не компилируется программа. Нужно исправить ошибки.
Еще ссылки по теме:
Проверьте игру(нужно исправить ошибки) C++
нужно исправить 2 ошибки в готовой программе C++
Есть код нужно исправить ошибки C++
Нужно исправить ошибки в программе конструкторе C++
Нужно исправить ошибки в коде и дописать функцию C++

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

Или воспользуйтесь поиском по форуму:
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
19.12.2011, 18:51     Не компилируется программа. Нужно исправить ошибки. #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
32
33
34
35
#include <iostream>
#include <ctime>
 
using namespace std;
 
int sum(int *vec, int size)
{
    int j = 0;
    for (int i=0;i<size;i++)
    {
        if (vec[i]>0)
        {
           j++;
        }
    }
    return j;
}
 
int main()
{
    int n = 0;
    srand(time(NULL));
    cout<<"Vvedite razmer massiva: ";
    cin>>n;
    int *vec = new int[n];
    cout<<"Ishodnyi massiv: ";
    for (int i=0;i<n;i++)
    {
        vec[i]=rand()%20-10;
        cout<<vec[i]<<"  ";
    }
    cout<<"\nKolichestvo polojitelnyh: "<<sum(vec,n);
    delete []vec;
    return 0;
}
либо так:
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>
#include <ctime>
#include <vector>
 
using namespace std;
 
int sum(vector< int > &vec)
{
    int j = 0;
    for (int i=0;i<vec.size();i++)
    {
        if (vec[i]>0)
        {
           j++;
        }
    }
    return j;
}
 
int main()
{
    int n = 0;
    srand(time(NULL));
    cout<<"Vvedite razmer massiva: ";
    cin>>n;
    vector< int > vec(n);
    cout<<"Ishodnyi massiv: ";
    for (int i=0;i<n;i++)
    {
        vec[i]=rand()%20-10;
        cout<<vec[i]<<"  ";
    }
    cout<<"\nKolichestvo polojitelnyh: "<<sum(vec);
    return 0;
}
Второй вариант, конечно, лучше, но надо для этого больше знать.
Yandex
Объявления
19.12.2011, 18:51     Не компилируется программа. Нужно исправить ошибки.
Ответ Создать тему
Опции темы

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