Помогите , господа прогеры. Я начинающий в C++. И мне нужна помощь от вас. Мне надо...

0 голосов
16 просмотров

Помогите , господа прогеры. Я начинающий в C++. И мне нужна помощь от вас.
Мне надо сделать программу , которая :
1. Надо создать 1 массив. "Ввести размер массива". Потом дать выбор- заполнить вручную массив или рандомно.
Потом также со вторым массивом, но указывать тот же размер массива, какой мы указали в первом. И сделать то же самое , что было в первом массиве.
Сделать это все в мэйне.
2. Создать функцию, в которой будет формула 3 массива. А эта формула такая: "Берем два пред. массива , а затем делаем из них третий , путем "зиг-зага".
3. В Мэйне вызвать ту функцию, чтобы это все выводилось через "cout".
Прошу , помогите ! Очень надо.
Вот мои убогие наработки:
#include
#include
#include
#include
#include
#include

using namespace std;

int f2(int N, int K=0, int A=0)
{
long int *p = new long int[N];
long int *q = new long int[A];
{for (int i = 0; i < N; i++) {
cout << p[i] << " ";<br> }
}
for (int l = 0; l < K; l++) {
cout << q[l] << " ";<br> }

return 0;
}
int main() {
setlocale(LC_CTYPE, "Russian");
int N = 0;
int B;
int C = 0;
long int *p = new long int[N];
int K = 0;
int R;
int A = 0;
long int *q = new long int[A];
cout << "Введите размер первого массива :" << endl;<br> cin >> N;
cout << "Какой способ ввода элементов массива?" << endl;<br> cout << "Введите (1), если ввод будет с клавиатуры" << endl;<br> cout << "Введите (2), если ввод будет рандомный." << endl;<br> cin >> B;
switch (B)
{
case 1:
cout << "Вы выбрали способ с клавиатуры." << endl;<br> cout << "Введите элементы массива:" << endl;<br> for (int i = 0; i < N; i++) {
cin >> p[i];
}
for (int i = 0; i < N; i++) {
cout << p[i]<<" ";<br> }
break;

case 2:
cout << "Вы выбрали рандомный способ." << endl;<br> for (int i = 0; i < N; i++) {
p[i] = 100 * (int)rand() / RAND_MAX ;
cout << p[i];<br> }
for (int i = 0; i < N; i++) {
cout << p[i] << " ";<br>
}
break;
}
cout << "Введите размер второго массива :" << endl;<br> cin >> K;
cout << "Какой способ ввода элементов массива?" << endl;<br> cout << "Введите (1), если ввод будет с клавиатуры" << endl;<br> cout << "Введите (2), если ввод будет рандомный." << endl;<br> cin >> R;
switch (R)
{
case 1:
cout << "Вы выбрали способ с клавиатуры." << endl;<br> cout << "Введите элементы массива:" << endl;<br> for (int l = 0; l < K; l++) {
cin >> q[l];
}
for (int l = 0; l < K; l++) {
cout << q[l] << " ";<br> }
break;

case 2:
cout << "Вы выбрали рандомный способ." << endl;<br> for (int l = 0; l < K; l++) {
q[l] = 100 * (int)rand() / RAND_MAX;
cout << q[l];<br> }
for (int l = 0; l < K; l++) {
cout << q[l] << " ";<br> }
break;
}
f2(N, K, A);
return 0;


Информатика | 16 просмотров
0

Ясно, это не зигзаг, а чередование.

0

Ну да. Вы правы.

0

Ноуп. У меня нету

0

Разве в студии не реализована функция объединение двух массивов?

0

Ну чуть-чуть похоже

0

Все, что сможете, прошу в студию)

0

Да

0

надо?

0

Пока на шарпах в комментах напишу

0

Ну как там с деньгами?)))

Дан 1 ответ
0 голосов
Правильный ответ

//Dev-C++ 5.11

#include
#include
#include
using namespace std;

void cher(int ar1[],int ar2[],int& ar3, int n);

int main(void)
 {int* ar1,*ar2,*arfin;
 int n,a;
 cin>>n;
 ar1=new int[n];
 ar2=new int[n];
 arfin=new int[n*2];
 cout<<"Random or reading? 1-rand, other-read";<br> cin>>a;
 if (a==1)
  {srand(time(NULL));
  for(int i=0;i   {ar1[i]=rand()%10;
   cout<<ar1[i]<<' ';}<br>   cout<<"\n";<br>  for(int i=0;i   {ar2[i]=rand()%10;
   cout<<ar2[i]<<' ';}<br>   cout<<"\n";}<br> else
 {for(int i=0;i  cin>>ar1[i];
 for(int i=0;i  cin>>ar2[i];}
 cher(ar1,ar2,*arfin,n*2);
 for(int i=0;i  cout<<arfin[i]<<' ';<br> delete []ar1;
 delete []ar2;
 delete []arfin;
 return 0;}

void cher(int ar1[],int ar2[],int& ar3, int n)
 {int* ar3f=&ar3;
 int i1,i2=0;
 for(int i=0;i  if(i%2==0)
   {ar3f[i]=ar1[i1];
   i1++;}
  else
   {ar3f[i]=ar2[i2]; i2++;}}

(38.6k баллов)
0

private int[] contact(int[] arr1,int[] arr2){int max=arr1.lenght+arr2.lenght+1; int[max] arrret;int i = 0; int q=0; if(arr1.lenght>= arr2.lenght) { for(i = 0;i< arr2.lenght;i++){arrret[i]=arr1[q]; arrret[i+1] = arr2[q]; q++} for(i=i+1;i<arr1.lenght;i++){arrret[i]=arr1[q]}Else{ for(i = 0;i< arr1.lenght;i++){arrret[i]=arr1[q]; arrret[i+1] = arr2[q]; q++} for(i=i+1;i<arr2.lenght;i++){arrret[i]=arr2[q]}

0

НЕ ПОКИДАЙТЕ МЕНЯ)

0

Я тоже без понятия о сути вашего "загзага". На том и разойдёмся.

0

Я всё же не буду издеваться, сейчас выложу вариант с чередованием.

0

Фух

0

Разумеется, новую.

0

Это мне добавлять к моей программе, или создавать новую?

0

Вопрос

0

Прошу