n ЗАВДАННЯ 4. n МЕНЮ n n raquo ;; lt; lt; 1. Створити двовимірний масив n raquo ;;
cout lt; lt; 2. Роздрукувати масив n raquo ;;
cout lt; lt; 3. Рішення функції n raquo ;;
cout lt; lt; 4. Повернутись в головне меню n raquo ;;
punkt=getch (); (punkt)
{ 1 :
//Видалення масиву з пам'яті
if (a)
{(i=0; i lt; M; i ++) delete [] a [i]; [] a;
}=CreateMass2 (M, N) ;; 2 :( M, N, a) ;; 3 :( M, N, a) ;;
}
} while (punkt!= 4 );
//Видалення масиву з пам'яті
if (a)
{(i=0; i lt; M; i ++) delete [] a [i]; [] A;
}
return;
}
//----------------------------------------------------------------------
//Роздруківка двовимірного масиву
//---------------------------------------------------------------------- PrintMass2 (unsigned int M, unsigned int N, int ** p)
{i, j; (! p)
{ lt; lt; n nОшібка! Масив ще не створений. Raquo ;;
getch ();
return;
} ( n nМассів a [% d] [% d] має вигляд: n , M, N); (i=0; i lt; M; i ++)
{(j=0; j lt; N; j ++) printf (% 4d , p [i] [j]); ( n );
}
getch ();
return;
}
//----------------------------------------------------------------------
//Виділення пам'яті під двовимірний масив і заповнення його
//---------------------------------------------------------------------- ** CreateMass2 (unsigned int amp; M, unsigned int amp; N)
{i, j, r; punkt; lt; lt; n nЗадайте розмір для двовимірного масиву n raquo ;;
cout lt; lt; Рядків в масиві M= raquo ;; cin gt; gt; M;
cout lt; lt; Cтолбцов в масиві N= raquo ;; cin gt; gt; N;
//Динамічно визначимо пам'ять для двовимірного масиву
int ** p=new int * [M];// Спочатку масив з M покажчиків на int
//при цьому змінна p є так звані. покажчиком на покажчик
for (i=0; i lt; M; i ++) p [i]=new int [N];// Тепер кожен покажчик вкаже на масив N цілих
if (! p)
{ lt; lt; n nОшібка! Неможливо створити масив! nПопробуйте задати менший розмір. raquo ;;
getch ();
return NULL;
}
cout lt; lt; n nВвод значень в масив: raquo ;;
cout lt; lt; n1. Вручну raquo ;; lt; lt; n2. Автоматично (випадкові значення) n raquo ;;
punkt=getch ();
switch (punkt)
{
case 1 :
cout lt; lt; nВвoдіте чіслo в кожен елемент масиву: n raquo ;;
for (i=0; i lt; M; i ++) (j=0; j lt; N; j ++)
{( a [% d] [% d]=, i, j); cin gt; gt; p [i] [j];
}
break;
case 2 :
cout lt; lt; nВведіте діапазон для випадкових чисел (від 0 до r) r= raquo ;;
cin gt; gt; r; (); (i=0; i lt; M; i ++) (j=0; j lt; N; j ++) p [i] [j]=random (r);
}
cout lt; lt; n nМассів створений. raquo ;;
getch ();
return p;
}
//----------------------------------------------------------------------
//Виділення пам'яті під одновимірний масив і заповнення його
//---------------------------------------------------------------------- * CreateMass (unsigned int amp; sz)
{* p; i, r, t; punkt; lt; lt; n nЗадайте розмір масиву raquo ;; gt; gt; sz;
//Динамічне виділення пам'яті під масив
p=new int [sz]; (! p)
{
cout lt; lt; n nОшібка! Неможливо створити масив! nПопробуйте задати менший розмір. raquo ;;
getch ();
retur...