Вывод динамического массива

Тема в разделе "Visual Basic", создана пользователем Kirsan, 20 дек 2010.

Наш партнер Genesis Hackspace
  1. Kirsan

    Kirsan Гость

    VB 6.0

    Нужно вывести на форму динамический массив, размерность которого указывается уже при запуске программы пользователем (ограничение = размерность нечётная). В си это сделать проще, а в Бейсике потерялся

    Кода нету, т.к. я не знаю просто какой компонент и как использовать, а остальная часть проги работает. Могу выложить аналог проги на Си

    Цель задачи - мониторинг процесса заражения со следующими условиями. Рассматривается участок *кожи* NxN (n-нечётное). Центральная клетка заражена вирусом. Каждый отрезок времени она с 50% вероятностью заражает соседнюю клетку, если клетка заражена уже 6 периодов времени, то она вырабатывает иммунитет на 4 следующих хода, а потом становится снова просто здоровой.


    #include <iostream.h>
    #include <math.h>
    #include <stdlib.h>
    #include <time.h>


    main()
    {
    srand(time(0));

    double** a;
    int** b;
    int i;
    int j;
    int z;
    int x;
    int y;
    int m=1;
    int n;


    cout << "vvedite n\n";

    cin >> n;
    a = new double* [n];
    b = new int* [n];
    for( i = 0; i < n; i++)
    { b=new int [n];
    a = new double [n];
    }

    //ввод массива
    for( i=0;i<n;++i)
    {for( j=0;j<n;++j)
    {
    a[j]=0;
    if (i==(n-1)/2) if (j==(n-1)/2) a[j]=1;


    }
    }

    for( i=0;i<n;++i)
    {for( j=0;j<n;++j)
    { b[j]=0;
    }
    }

    //Вывод
    cout<<"ishodna9 matrica\n";
    for(i=0;i<n;i++)
    {
    for(j=0;j<n;j++)
    {
    cout<<a[j]<<" ";
    }
    cout<<endl;
    }

    do
    {
    x=0;
    y=0;
    z=0;


    for (i=0;i<n;i++)
    {
    for(j=0;j<n;j++)
    {
    int l1=rand() % 2;
    int l2=rand() % 2;
    int l3=rand() % 2;
    int l4=rand() % 2;
    int l5=rand() % 2;
    int l6=rand() % 2;
    int l7=rand() % 2;
    int l8=rand() % 2;
    if (a[j]==1)
    {
    {
    if (i-1>=0 && i-1<n && j-1>=0 && j-1<n && a[i-1][j-1]==0 && l1>0)
    a[i-1][j-1]=3;
    }
    {
    if (i>=0 && i<n && j-1>=0 && j-1<n && a[j-1]==0 && l2>0)
    a[j-1]=3;
    }
    {
    if (i+1>=0 && i+1<n && j-1>=0 && j-1<n && a[i+1][j-1]==0 && l3>0)
    a[i+1][j-1]=3;
    }
    {
    if (i-1>=0 && i-1<n && j>=0 && j<n && a[i-1][j]==0 && l4>0)
    a[i-1][j]=3;
    }
    {
    if (i+1>=0 && i+1<n && j>=0 && j<n && a[i+1][j]==0 && l5>0)
    a[i+1][j]=3;
    }
    {
    if (i-1>=0 && i-1<n && j+1>=0 && j+1<n && a[i-1][j+1]==0 && l6>0)
    a[i-1][j+1]=3;
    }
    {
    if (i>=0 && i<n && j+1>=0 && j+1<n && a[j+1]==0 && l7>0)
    a[j+1]=3;
    }
    {
    if (i+1>=0 && i+1<n && j+1>=0 && j+1<n && a[i+1][j+1]==0 && l8>0)
    a[i+1][j+1]=3;
    }
    }
    }
    }

    for(i=0;i<n;i++)
    {
    for(int j=0; j<n; j++)
    {
    if (a[j]==0) x=x+1;
    if (a[j]==2 && b[j]<4)
    {
    b[j]=b[j]+1;
    z=z+1;
    continue;
    }
    if (a[j]==2 && b[j]==4)
    {
    b[j]=0;
    a[j]=0;
    x=x+1;
    continue;
    }
    if (a[i][j]==3 && b[i][j]<6)
    {
    a[i][j]=1;
    b[i][j]=b[i][j]+1;
    y=y+1;
    continue;
    }
    if (a[i][j]==3 && b[i][j]==6)
    {
    b[i][j]=0;
    a[i][j]=2;
    z=z+1;
    continue;
    }


    if (a[i][j]==1 && b[i][j]<6)
    {
    b[i][j]=b[i][j]+1;
    y=y+1;
    continue;
    }
    if (a[i][j]==1 && b[i][j]==6)
    {
    b[i][j]=0;
    a[i][j]=2;
    z=z+1;
    continue;
    }

    }
    }
    cout<<"massiv"<<endl;

    cout<<"ne zarajeno"<< x <<"kletok"<<endl;
    cout<<"zarajeno"<< y <<"kletok"<<endl;
    cout<<"imunno"<< z <<"kletok"<<endl;


    for(i=0;i<n;i++)
    {
    for(j=0;j<n;j++)
    {
    cout<<a[i][j]<<" ";
    }
    cout<<endl;
    }

    cout<<"budem prodoljat'? da=1, net=any other"<<endl;
    cin>>m;
    }while (m==1);

    return 0;
    }[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
     
  2. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.445
    Симпатии:
    7
     
  3. Kirsan

    Kirsan Гость

    проблема в том, что я не знаю, что надо использовать для вывода на экран, в остальном более менее разобрался, но вот вывод - проблема
     
Загрузка...

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