Прога На С++

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем artem94, 26 ноя 2012.

Статус темы:
Закрыта.
  1. artem94

    artem94 Гость

    Срочно помогите с програмой на С++!!!
    Показивает ошибку в 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];
    }
    }
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    какую?
     
  3. artem94

    artem94 Гость

    error: too many arguments to function 'int rand()'
     
  4. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    мне лень 145 строк отсчитывать, напиши код строки.

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

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

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

    звучит как приказ, но приказ не сформулирован. Чем помочь?
     
  5. artem94

    artem94 Гость

    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
    помогите кто знает что єто, пожалуйста, буду благодарен
     
  6. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    смотри в справочник, функция rand не принимает никаких аргументов, ты туда что-то пихаешь, и в тексте ошибки у тебя это ясно сказано.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей