Прога На С++

  • Автор темы artem94
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

artem94

Гость
#1
Срочно помогите с програмой на С++!!!
Показивает ошибку в 145 строке з rand, не могу понять чё, прога не работает! Пожалуйста очень нужно!!! Буду блогодарен.

#include <iostream>
#include <iomanip>
#include <conio.h>
#include <stdlib.h>
using namespace std;
class Massiv
{
int *a,*b,n,min;
public:
void Sozd();
void Vvod_Sl();
void Form(int n1, int n2);
void Form_2(int n3, int n4);
void Print();
void Print_2(int number);
void Print_3(int rec, int field);
};

int main()
{
Massiv a,b;
int number,punkt,rec,field,kol,n1,n2,n,n3,n4;
system("cls");
cout<<"1 - sozdanie massiva";cout<<endl;
cout<<"2 - pechat vseh strok";cout<<endl;
cout<<"3 - pechat stroki po indeksu";cout<<endl;
cout<<"4 - sceplenie dvuh massivov";cout<<endl;
cout<<"5 - sliyanie dvuh massivov";cout<<endl;
cout<<"6 - pechat konkretnogo elementa konkretnoi stroki";cout<<endl;
cout<<"7 - vihod";cout<<endl;
cout<<"Vvedite punkt menu "; cin>> punkt;
while (punkt!=7)
{
switch(punkt)
{
case 1: {rand(); //sozdanie massiva
a.Vvod_Sl();
cout<<endl;
a.Print();
cout<<endl;
cout<<"1 - sozdanie massiva";cout<<endl;
cout<<"2 - pechat vseh strok";cout<<endl;
cout<<"3 - pechat stroki po indeksu";cout<<endl;
cout<<"4 - sceplenie dvuh massivov";cout<<endl;
cout<<"5 - sliyanie dvuh massivov";cout<<endl;
cout<<"6 - pechat konkretnogo elementa konkretnoi stroki";cout<<endl;
cout<<"7 - vihod";cout<<endl;
cout<<"Vvedite punkt menu "; cin>> punkt;
}
break;
case 2: {a.Print(); //pechat massiva
cout<<endl;
cout<<"1 - sozdanie massiva";cout<<endl;
cout<<"2 - pechat vseh strok";cout<<endl;
cout<<"3 - pechat stroki po indeksu";cout<<endl;
cout<<"4 - sceplenie dvuh massivov";cout<<endl;
cout<<"5 - sliyanie dvuh massivov";cout<<endl;
cout<<"6 - pechat konkretnogo elementa konkretnoi stroki";cout<<endl;
cout<<"7 - vihod";cout<<endl;
cout<<"Vvedite punkt menu "; cin>> punkt; }
break;
case 3: { //pechat stroki po indeksu
cout<<"Vvedite nomer massiva (numeracia s 0!): ";cin>>number;
cout<<endl;
a.Print_2(number);
cout<<"1 - sozdanie massiva";cout<<endl;
cout<<"2 - pechat vseh strok";cout<<endl;
cout<<"3 - pechat stroki po indeksu";cout<<endl;
cout<<"4 - sceplenie dvuh massivov";cout<<endl;
cout<<"5 - sliyanie dvuh massivov";cout<<endl;
cout<<"6 - pechat konkretnogo elementa konkretnoi stroki";cout<<endl;
cout<<"7 - vihod";cout<<endl;
cout<<"Vvedite punkt menu "; cin>> punkt;
}
break;
case 4: { //sceplenie dvuh massivov
cout<<"Vvrdite nomer 1-go massiva(numeracia s 0!): ";cin>>n1;cout<<endl;
cout<<"Vvedite nomer 2-go massiva(numeracia s 0!): ";cin>>n2;cout<<endl;
a.Form(n1,n2);
cout<<endl;
cout<<"1 - sozdanie massiva";cout<<endl;
cout<<"2 - pechat vseh strok";cout<<endl;
cout<<"3 - pechat stroki po indeksu";cout<<endl;
cout<<"4 - sceplenie dvuh massivov";cout<<endl;
cout<<"5 - sliyanie dvuh massivov";cout<<endl;
cout<<"6 - pechat konkretnogo elementa konkretnoi stroki";cout<<endl;
cout<<"7 - vihod";cout<<endl;
cout<<"Vvedite punkt menu "; cin>> punkt;}
break;
case 5: { //sliyanie dvuh massivov
cout<<"Vvrdite nomer 1-go massiva(numeracia s 0!): ";cin>>n3;cout<<endl;
cout<<"Vvedite nomer 2-go massiva(numeracia s 0!): ";cin>>n4;cout<<endl;
a.Form_2(n3,n4);
cout<<endl;
cout<<"1 - sozdanie massiva";cout<<endl;
cout<<"2 - pechat vseh strok";cout<<endl;
cout<<"3 - pechat stroki po indeksu";cout<<endl;
cout<<"4 - sceplenie dvuh massivov";cout<<endl;
cout<<"5 - sliyanie dvuh massivov";cout<<endl;
cout<<"6 - pechat konkretnogo elementa konkretnoi stroki";cout<<endl;
cout<<"7 - vihod";cout<<endl;
cout<<"Vvedite punkt menu "; cin>> punkt;}
break;

case 6: { //pechat konkretnogo elementa konkretnoi stroki
cout<<"Vvedite nomer stroki massiva(numeraciya s 0!): ";cin>>rec;
cout<<endl;
cout<<"Vvedite nomer stolbca: ";cin>>field;
cout<<endl;
a.Print_3(rec,field);
cout<<"1 - sozdanie massiva";cout<<endl;
cout<<"2 - pechat vseh strok";cout<<endl;
cout<<"3 - pechat stroki po indeksu";cout<<endl;
cout<<"4 - sceplenie dvuh massivov";cout<<endl;
cout<<"5 - sliyanie dvuh massivov";cout<<endl;
cout<<"6 - pechat konkretnogo elementa konkretnoi stroki";cout<<endl;
cout<<"7 - vihod";cout<<endl;
cout<<"Vvedite punkt menu "; cin>> punkt;}
break;
case 7:
break;
}
}

}
void Massiv :: Sozd()
{
int m;
cout<<"kolvo strok?";cin>>n;
int min=0;
for (int i=0;i<n;i++)
{
cout<<"kolvo elementov v "<< i+1 <<" stroke?";cin>>m;
*(b+i)=m;
if (min<m) min=m;
}
a=(int*)malloc(sizeof(int)*n*min);
}
void Massiv::Vvod_Sl()
{
Sozd();
for(int i=0;i<n;i++)
for (int j=0; j<*(b+i); j++)
{
*(a+i+j)=-20+rand(41);
}
}
void Massiv :: Print()
{
for(int i=0;i<n;i++)
{
for (int j=0; j<*(b+i);j++)
{
cout<<setw(6)<<*(a+i+j);
}
cout<<endl;
}
}
void Massiv :: Print_2(int number)
{
for(int i=0;i<n;i++)
{
for (int j=0; j<*(b+i);j++)
{
if (i==number) cout<<setw(6)<<*(a+i+j);
}
cout<<endl;
}
}

void Massiv :: Print_3(int rec, int field)
{
for(int i=0;i<n;i++)
{
for (int j=0; j<*(b+i);j++)
{
if ((i==rec)&&(j==field)) cout<<"Danii element= "<<setw(6)<<*(a+i+j);
else "Massiv s takimi dannimi ne naiden!";
}
cout<<endl;
}
}

void Massiv :: Form(int n1,int n2)
{
int m1,m2,k,j,l,p;
int c[20];
//zapominaem kolvo elementov v strokah
m1=*(b+n1);
m2=*(b+n2);
// *(b+n1)=m1+m2;
int m3=m1+m2;
k=0;
for (l=0;l<m3;l++)
if(l<m1)
{c[l]=*(a+n1+l);
cout<<setw(6)<<c[l];
}
else if((l>=m1)&&(l<m3))
{
c[l]=*(a+n2+k);
cout<<setw(6)<<c[l];
k++;
}
}
void Massiv :: Form_2(int n3,int n4)
{
int m1,m2,k,j,l,p,l1;
int c[20],f[20];
//zapominaem kolvo elementov v strokah
m1=*(b+n3);
m2=*(b+n4);
int m3=m1+m2;
k=0;
for (l=0;l<m3;l++)
{
if(l<m1)
{c[l]=*(a+n3+l);
}
else if((l>=m1)&&(l<m3))
{
c[l]=*(a+n4+k);
k++;
}
}
l1=0;
f[l1]=c[l1];
cout<<setw(6)<<f[l1];
//sliyanie
for(p=1;p<m3;p++)
if(f[l1]!=c[p])
{ l++;
f[l1]=c[p];
cout<<setw(6)<<f[l1];
}
}
 
R

rrrFer

Гость
#4
мне лень 145 строк отсчитывать, напиши код строки.

Добавлено: учитесь уже нормально вопросы задавать. Код написали - хорошо, но неплохо бы его тегами соответствующими обернуть.

Видишь ошибку - пиши код, указана строка - выдели эту строку цветом, жирным шрифтом (чем угодно). {если код обернешь тегами - то мы все увидим номера строк и проблема отпадет}

Вопроса вообще не вижу.

Срочно помогите с програмой на С++!!!
звучит как приказ, но приказ не сформулирован. Чем помочь?
 
A

artem94

Гость
#5
36 case 1: {rand(); //sozdanie massiva
37 a.Vvod_Sl();
38 cout<<endl;
39 a.Print();
40 cout<<endl;
41 cout<<"1 - sozdanie massiva";cout<<endl;
42 cout<<"2 - pechat vseh strok";cout<<endl;
43 cout<<"3 - pechat stroki po indeksu";cout<<endl;
44 cout<<"4 - sceplenie dvuh massivov";cout<<endl;
45 cout<<"5 - sliyanie dvuh massivov";cout<<endl;
46 cout<<"6 - pechat konkretnogo elementa konkretnoi stroki";cout<<endl;
47 cout<<"7 - vihod";cout<<endl;
48 cout<<"Vvedite punkt menu "; cin>> punkt;
49 }
50 break;
...
...
139 void Massiv::Vvod_Sl()
140 {
141 Sozd();
142 for(int i=0;i<n;i++)
143 for (int j=0; j<*(b+i); j++)
144 {
145 *(a+i+j)=-20+rand(41);
}
}


появляеться ещё одна прога которая показивает какето правила вот..._CRTIMP int __cdecl __MINGW_NOTHROW rand (void); и показивает ошибку error: too many arguments to function 'int rand()'
error: at this point in file
помогите кто знает что єто, пожалуйста, буду благодарен
 
Статус
Закрыто для дальнейших ответов.