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

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

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

надо исправить ошибку - C++

04.01.2011, 12:25. Просмотров 425. Ответов 8
Метки нет (Все метки)

задание выглядит так:
Заполнить файл f натуральными числами, полученными с помощью генератора случайных чисел. Найти количество квадратов нечетных чисел среди компонентов

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
#include<iostream>
#include<cstdlib>
#include <time.h>
#include<fstream>
#include<cmath>
 
using namespace std;
 
int main(){
srand(time(0));
int i,k,n,j=0;
n = rand()%20;
int mass[n];
cout<<"massiv:\n";
for( i =0;i<n;i++){
mass[i]= rand()%100;
cout<<mass[i]<<" ";
}
cout<<"\n dannie zapisani v ==>fin.txt"<<endl;;
FILE *fp1 = fopen("fin.txt","w");
if(!fp1)
{
cout << "Nevozmozhno otkryt' fail"<< endl;
}
for( i =0;i<n;i++){
k=sqrt(mass[i]);
if(mass[i]==k*k&&k%2!=0){
j++;
}
}
for(i=0;i<n;i++){
fprintf ( fp1, "%d", mass[i]);
fprintf ( fp1, " ");
}
fprintf ( fp1, "\n");
fprintf(fp1,"Kol-vo kvadratov nechetnix chisel: ");
fprintf ( fp1,"%d", j);
fclose(fp1);
system("PAUSE>>null");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2011, 12:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос надо исправить ошибку (C++):

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int a,int b) { ...

Зацикливается. Надо исправить - C++
Программу я пишу очень известную здесь на форуме: Описать структуру с именем ZNAK, содержащую следующие поля: Фамилия, имя; Знак...

Надо найти ошибку - C++
Задача: дан массив, требуется найти два равных в нем элемента и вывести их индексы. Есть логически верный код, но он не работает: #include...

Надо найти ошибку - C++
Всем привет! Вот задали задачку, решаю, а не выходит точно, можно сказать вообще не правильно считает( Такая вот задачка: Написать...

Подсчитать, сколько букв надо исправить в слове Х - C++
Подсчитать, сколько букв надо исправить в слове Х, чтобы получилось слово Y (Х,Y - слова одинаковой длины).

народ помогите пож-та, надо аттестацию исправить))) - C++
Напишите функцию, которая воспринимает время как три целых аргумента (часы, минуты и секунды) и возвращает количество секунд, прошедших со...

8
vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
04.01.2011, 13:34 #2
а чем ошибка ? кроме того что у вас получилась какая-то абра-кадабра из смеси с и с++ ничего плохого замечено не было.
Все работает правильно:
Bash
1
2
3
4
5
6
7
vx5@home:~$ ./a.out
massiv:
86 66 9 18 9 
 dannie zapisani v ==>fin.txt
vx5@home:~$ cat fin.txt
86 66 9 18 9 
Kol-vo kvadratov nechetnix chisel: 2
0
aidar9119
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 73
04.01.2011, 17:06  [ТС] #3
а у меня пачемуто 3 ошибки пишет:
1.cpp
c:\documents and settings\admin\рабочий стол\zada4a\1.cpp(13) : error C2057: expected constant expression
c:\documents and settings\admin\рабочий стол\zada4a\1.cpp(13) : error C2466: cannot allocate an array of constant size 0
c:\documents and settings\admin\рабочий стол\zada4a\1.cpp(13) : error C2133: 'mass' : unknown size
Error executing cl.exe.

Добавлено через 4 минуты
я не пойму че ему надо(С++)
0
Минич
66 / 66 / 3
Регистрация: 26.11.2010
Сообщений: 123
04.01.2011, 17:07 #4
Цитата Сообщение от aidar9119 Посмотреть сообщение
n = rand()%20;
int mass[n];
ты так не можешь определить размерность массива, n - должно быть константным выражением или делай массив динамический
0
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
04.01.2011, 17:09 #5
C++
1
2
3
int i,k,n,j=0;
n = rand()%20;
int mass[n];
c:\documents and settings\admin\рабочий стол\zada4a\1.cpp(13) : error C2466: cannot allocate an array of constant size 0
не возможно создать массив размером 0 элементов
C++
1
const int n = 10
если хочешь рандомно, создавай динамически
0
Минич
66 / 66 / 3
Регистрация: 26.11.2010
Сообщений: 123
04.01.2011, 17:11 #6
и на 26 строчке приведите массив к какому-нибудь вещественному значению прежде чем вы его передаете в функцию sqrt, т.к. эта функция работает только с вещественными аргументами, например
C++
1
k=(int) sqrt((double) mass[i]);
0
aidar9119
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 73
04.01.2011, 17:46  [ТС] #7
чета я ваще
0
Минич
66 / 66 / 3
Регистрация: 26.11.2010
Сообщений: 123
04.01.2011, 17:58 #8
Цитата Сообщение от aidar9119 Посмотреть сообщение
n = rand()%20;
int mass[n];
сделайте вот так
C++
1
2
const int n = 10;
int mass[n];
либо
C++
1
2
n = rand()%20;
int *mass = new int[n];
1
aidar9119
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 73
04.01.2011, 18:21  [ТС] #9
spasibo!!

Добавлено через 1 минуту
теперь бы эту програмку в Pascal ABC написать, сможете помочь??
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2011, 18:21
Привет! Вот еще темы с ответами:

Надо найти ошибку в коде - C++
Вот сообствено ошибка в коде,но немогу найти ее #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;cstring&gt; using namespace std; ...

Надо найти ошибку в коде - C++
вот задание: 1.найти произведение отрицательных элементов массива. 2.Найти сумму положительных элементов массива расположенных до...

Почему выдает 0, и что надо исправить в вызове функции? - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; int ch1,ch2,osn, summa,PROI,PR,pr ; int Perevert(int x)// { int xp = 0; ...

Надо исправить код! Распечатать анкетные данные студентов, успевающих на 4 и 5 - C++
Скажите, пожалуйста, как сделать, чтобы выводились все студенты, у кого 4 и 5. Не получается, выводится только один по этому коду. ...


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

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
04.01.2011, 18:21
Ответ Создать тему
Опции темы

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