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

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

Восстановить пароль Регистрация
 
fReekufa
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 39
03.11.2013, 13:54     Исправьте 1 ошибку пожалуйста #1
Помогите пожалуйста исправить ошибку, код должен быть для 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^
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2013, 13:54     Исправьте 1 ошибку пожалуйста
Посмотрите здесь:

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

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

или

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

или

file<< std::setw(5)<<*(b[y]+x)<<" ";
неа не работает, что же делать блин
chedman
80 / 79 / 2
Регистрация: 30.10.2013
Сообщений: 249
03.11.2013, 14:22     Исправьте 1 ошибку пожалуйста #8
попробуй не в одной строке все сделать, используй переменную типа int и используй ее в file << ...
fReekufa
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 39
03.11.2013, 14:25  [ТС]     Исправьте 1 ошибку пожалуйста #9
Цитата Сообщение от chedman Посмотреть сообщение
попробуй не в одной строке все сделать, используй переменную типа int и используй ее в file << ...
ниче не понял, я в с++ очень слаб
chedman
80 / 79 / 2
Регистрация: 30.10.2013
Сообщений: 249
03.11.2013, 14:28     Исправьте 1 ошибку пожалуйста #10
Тут ещё у тебя утечка памяти: нет delete[]
fReekufa
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 39
03.11.2013, 14:29  [ТС]     Исправьте 1 ошибку пожалуйста #11
Цитата Сообщение от chedman Посмотреть сообщение
Тут ещё у тебя утечка памяти: нет delete[]
можешь подправить все? а то я сам точно ничего не сделаю
chedman
80 / 79 / 2
Регистрация: 30.10.2013
Сообщений: 249
03.11.2013, 14:32     Исправьте 1 ошибку пожалуйста #12
C++
1
file<<setw(5)<<*(b[y]+x)<<" ";
замени на
C++
1
2
3
{int tmp=*(b[y]+x);
file<<setw(5)<< tmp <<" ";
}
fReekufa
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 39
03.11.2013, 14:33  [ТС]     Исправьте 1 ошибку пожалуйста #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 переделывал, это как то переделать может надо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2013, 14:54     Исправьте 1 ошибку пожалуйста
Еще ссылки по теме:

Метод золотого сечения.исправьте ошибку пожалуйста C++
C++ Исправьте ошибку, пожалуйста

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

Или воспользуйтесь поиском по форуму:
chedman
80 / 79 / 2
Регистрация: 30.10.2013
Сообщений: 249
03.11.2013, 14:54     Исправьте 1 ошибку пожалуйста #14
Утечку памяти в функции find массив arrayValue устрани, может она влияет

Добавлено через 3 минуты
или вот ещё замени setw на ios::setw
Это бред, но кто знает.
Yandex
Объявления
03.11.2013, 14:54     Исправьте 1 ошибку пожалуйста
Ответ Создать тему
Опции темы

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