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

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

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

Исправьте 1 ошибку пожалуйста - C++

03.11.2013, 13:54. Просмотров 374. Ответов 13
Метки нет (Все метки)

Помогите пожалуйста исправить ошибку, код должен быть для C++ 6.0
Вот код программы
CSS
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <iomanip.h>
#include <fstream>
 
using namespace std;
 
int mod(int x,int y)
{
    int s=1;
    for(int i=1;i<=y;i++)
    s*=x;
return s;
}
void setFile(int sizeX,int sizeY)
{
int y;
int x;
cout<<"Created file \"text.txt\""<<endl;
ofstream file;
file.open("text.txt");
int* *b=new int*[sizeY];
 
    for (y=0;y<sizeY;y++)
    {
    int* a=new int[sizeX];
        for(x=0;x<sizeX;x++)
        {
        a[x]=1+rand()% 20000;
        }
    b[y]=&a[0];
    }
 
    for (y=0;y<sizeY;y++)
    {
        for(x=0;x<sizeX;x++)
        file<<setw(5)<<*(b[y]+x)<<" ";
    file<<"\n";
    }
    cout<<endl;
    file.close();
}
 
 
void readFile(int* b[],int sizeY, int sizeX)
{
int y;
int x;
ifstream file;
file.open("text.txt");
cout<<endl;
cout<<endl;
        for(y=0;y<sizeY;y++)
        {
            int* a=new int[sizeX];
            for(x=0;x<sizeX;x++)
            {
                file>>a[x];
            }
        b[y]=&a[0];
        }
    for (y=0;y<sizeY;y++)
    {
        for(x=0;x<sizeX;x++)
        cout<<setw(6)<<*(b[y]+x)<<" ";
    cout<<endl;
    }
}
 
void find(int* b[],int sizeX,int sizeY,int value)
{
int y;
int x;
cout<<"valie is :"<<value<<endl;
int c=0;
    for (y=0;y<sizeY;y++)
    {
        for(x=0;x<sizeX;x++)
        cout<<setw(6)<<*(b[y]+x)<<" ";
    cout<<endl;
    }
cout<<"\n\n";
    for (y=0;y<sizeY;y++)
    {
        for(x=0;x<sizeX;x++)
        {
            for (c=1;c<=9;c++)
                if (((*(b[y]+x))/(mod(10,c)))==value)
                {
 
                c++;
                }
        }
    }
 
    if (c==0)
    cout<<"Sorry , but value = "<<value<<" haven't result :-("<<endl;
cout<<"number of answers: "<<c<<endl;
int *arrayValue=new int[c];
c=0;
    for (y=0;y<sizeY;y++)
    {
        for(x=0;x<sizeX;x++)
        {
            for (c=1;c<=9;c++)
                if (((*(b[y]+x))/(mod(10,c)))==value)
                {
                cout<< *(b[y]+x)<<" \n";
                arrayValue[c]=*(b[y]+x);
                c++;
                }
        }
    }
 
ofstream file2;
file2.open("result.txt");
cout<<"Created file:\"result.txt\""<<endl;
    for (y=0;y<c;y++)
    {
    file2<<arrayValue[y]<<" ";
    }
 
}
 
 
int main()
{
srand(time(0));
int sizeX,sizeY,value;
cout<<"Enter size x:";
cin>>sizeX;
cout<<"Enter size Y:";
cin>>sizeY;
int* *b=new int*[sizeY];
 
cout<<"\nfunction setFile:";
setFile(sizeX,sizeY);
cout<<"\nfunction read";
readFile(b,sizeY, sizeX);
 
cout<<"\nenter find value:";
cin>>value;
cout<<"\nfunction find:\n";
find(b,sizeX,sizeY,value);
 
delete[]b;
return 0;
}
Вот ошибка сама:
Compiling...
Cpp3.cpp
C:\Users\Teacher\Desktop\Êóðñà÷\Cpp3.cpp(38) : error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class __SMANIP_int' (or there is no acceptable conversion)
Error executing cl.exe.

Cpp3.exe - 1 error(s), 0 warning(s)

Добавлено через 14 минут
up^
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2013, 13:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исправьте 1 ошибку пожалуйста (C++):

исправьте ошибку,пожалуйста - C++
Вычислить среднее значение элементов, расположенных в массиве между первым и послед-ним нулевыми элементами. Поменять местами максимальный...

Исправьте ошибку, пожалуйста - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; double Yx(double x) { return pow(x, 2) * atan(x); } double...

Исправьте пожалуйста ошибку - C++
Программа не работает. Может хоть вы подскажете в чем здесь проблема. #include &lt;iostream&gt; using namespace std; void main() //...

Метод золотого сечения.исправьте ошибку пожалуйста - C++
Задача &quot;Провести оптимизацию полученных полиномов на всем заданном интервале по методу золотого сечения&quot; вот что я закодил: #include...

Ребят Незнаю что делать при запуске на компилирование выдает ошибку.Кто понимает что не так скажите а если не затруднит исправьте ошибку - C++
Разговаривал с двумя преподами говорят что проект не правильно создавал,хотя все правильно из группы спрашивал у парней говорят что не...

Исправьте ошибку - C++
доброе утро, помогите исправить ошибку, строки 9 и 13 #include &lt;stdio.h&gt; #include &lt;math.h&gt; typedef double (*Pfun)(const double, const...

13
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
03.11.2013, 14:04 #2
У меня этот код работает, может
C++
1
 file<<setw(5)<<*(b[y]+x)<<" ";
заменить на
C++
1
 file<<setw(5)<< (int)(*(b[y]+x))<<" ";
1
fReekufa
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 39
03.11.2013, 14:06  [ТС] #3
Цитата Сообщение от chedman Посмотреть сообщение
У меня этот код работает, может
C++
1
 file<<setw(5)<<*(b[y]+x)<<" ";
заменить на
file<<setw(5)<< (int)(*(b[y]+x))<<" ";
так же ошибка, а у тебя с++ 6.0 стоит?
0
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
03.11.2013, 14:10 #4
У меня CodeBlocks + MinGW 4.6.1

В общем то VS 6.0 устарела, Си++ развивается.
1
fReekufa
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 39
03.11.2013, 14:11  [ТС] #5
Цитата Сообщение от chedman Посмотреть сообщение
У меня CodeBlocks + MinGW 4.6.1
мне вот надо чтобы через c++ 6.0 открывалось, а там эта строчка в никакую
0
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
03.11.2013, 14:15 #6
может, что то с пространствами имен
попробуй
file<< ::setw(5)<<*(b[y]+x)<<" ";

или

file<< std::setw(5)<<*(b[y]+x)<<" ";
1
fReekufa
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 39
03.11.2013, 14:16  [ТС] #7
Цитата Сообщение от chedman Посмотреть сообщение
может, что то с пространствами имен
попробуй
file<< ::setw(5)<<*(b[y]+x)<<" ";

или

file<< std::setw(5)<<*(b[y]+x)<<" ";
неа не работает, что же делать блин
0
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
03.11.2013, 14:22 #8
попробуй не в одной строке все сделать, используй переменную типа int и используй ее в file << ...
1
fReekufa
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 39
03.11.2013, 14:25  [ТС] #9
Цитата Сообщение от chedman Посмотреть сообщение
попробуй не в одной строке все сделать, используй переменную типа int и используй ее в file << ...
ниче не понял, я в с++ очень слаб
0
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
03.11.2013, 14:28 #10
Тут ещё у тебя утечка памяти: нет delete[]
0
fReekufa
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 39
03.11.2013, 14:29  [ТС] #11
Цитата Сообщение от chedman Посмотреть сообщение
Тут ещё у тебя утечка памяти: нет delete[]
можешь подправить все? а то я сам точно ничего не сделаю
0
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
03.11.2013, 14:32 #12
C++
1
file<<setw(5)<<*(b[y]+x)<<" ";
замени на
C++
1
2
3
{int tmp=*(b[y]+x);
file<<setw(5)<< tmp <<" ";
}
1
fReekufa
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 39
03.11.2013, 14:33  [ТС] #13
Цитата Сообщение от chedman Посмотреть сообщение
C++
1
file<<setw(5)<<*(b[y]+x)<<" ";
замени на
C++
1
2
3
{int tmp=*(b[y]+x);
file<<setw(5)<< tmp <<" ";
}
такая же шняга
C++ (Qt)
1
file<<setw(5)
вот в этой части ошибка
код был написан на c++11 вроде
я ее на 6.0 переделывал, это как то переделать может надо
0
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
03.11.2013, 14:54 #14
Утечку памяти в функции find массив arrayValue устрани, может она влияет

Добавлено через 3 минуты
или вот ещё замени setw на ios::setw
Это бред, но кто знает.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2013, 14:54
Привет! Вот еще темы с ответами:

Исправьте ошибку - C++
2. Задан двумерный массив N x N. Разрешается произвольно переставлять элементы внутри любого столбца. Проверить можно ли выполнив конечное...

Исправьте ошибку - C++
Исправьте ошибку пожалуйста или подскажите где я допустил ошибку. Программа сортировки массива. вот код, а вот что оно мне выводит: ...

Исправьте программу пожалуйста - C++
Почему последнюю строку в итоге в консоли выводит два раза, в чём ошибка и как это исправить? ...

Исправьте пожалуйста код - C++
Есть код , как сделать чтобы числа a,b,c вводились с клавиатуры... (Программа находит булеан чисел a,b,c) Код программы: ...


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

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

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