
Вопрос задан 12.03.2021 в 09:52.
Предмет Информатика.
Спрашивает Janabaeva Nurai.
Помогите , господа прогеры. Я начинающий в 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] << " "; } } for (int l = 0; l < K; l++) { cout << q[l] << " "; } 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; cin >> N; cout << "Какой способ ввода элементов массива?" << endl; cout << "Введите (1), если ввод будет с клавиатуры" << endl; cout << "Введите (2), если ввод будет рандомный." << endl; cin >> B; switch (B) { case 1: cout << "Вы выбрали способ с клавиатуры." << endl; cout << "Введите элементы массива:" << endl; for (int i = 0; i < N; i++) { cin >> p[i]; } for (int i = 0; i < N; i++) { cout << p[i]<<" "; } break; case 2: cout << "Вы выбрали рандомный способ." << endl; for (int i = 0; i < N; i++) { p[i] = 100 * (int)rand() / RAND_MAX ; cout << p[i]; } for (int i = 0; i < N; i++) { cout << p[i] << " "; } break; } cout << "Введите размер второго массива :" << endl; cin >> K; cout << "Какой способ ввода элементов массива?" << endl; cout << "Введите (1), если ввод будет с клавиатуры" << endl; cout << "Введите (2), если ввод будет рандомный." << endl; cin >> R; switch (R) { case 1: cout << "Вы выбрали способ с клавиатуры." << endl; cout << "Введите элементы массива:" << endl; for (int l = 0; l < K; l++) { cin >> q[l]; } for (int l = 0; l < K; l++) { cout << q[l] << " "; } break; case 2: cout << "Вы выбрали рандомный способ." << endl; for (int l = 0; l < K; l++) { q[l] = 100 * (int)rand() / RAND_MAX; cout << q[l]; } for (int l = 0; l < K; l++) { cout << q[l] << " "; } break; } f2(N, K, A); return 0;

Ответы на вопрос

Отвечает Чернова Олеся.
//Dev-C++ 5.11
#include <iostream>
#include <ctime>
#include <stdlib.h>
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";
cin>>a;
if (a==1)
{srand(time(NULL));
for(int i=0;i<n;i++)
{ar1[i]=rand()%10;
cout<<ar1[i]<<' ';}
cout<<"\n";
for(int i=0;i<n;i++)
{ar2[i]=rand()%10;
cout<<ar2[i]<<' ';}
cout<<"\n";}
else
{for(int i=0;i<n;i++)
cin>>ar1[i];
for(int i=0;i<n;i++)
cin>>ar2[i];}
cher(ar1,ar2,*arfin,n*2);
for(int i=0;i<n*2;i++)
cout<<arfin[i]<<' ';
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<n;i++)
if(i%2==0)
{ar3f[i]=ar1[i1];
i1++;}
else
{ar3f[i]=ar2[i2]; i2++;}}
#include <iostream>
#include <ctime>
#include <stdlib.h>
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";
cin>>a;
if (a==1)
{srand(time(NULL));
for(int i=0;i<n;i++)
{ar1[i]=rand()%10;
cout<<ar1[i]<<' ';}
cout<<"\n";
for(int i=0;i<n;i++)
{ar2[i]=rand()%10;
cout<<ar2[i]<<' ';}
cout<<"\n";}
else
{for(int i=0;i<n;i++)
cin>>ar1[i];
for(int i=0;i<n;i++)
cin>>ar2[i];}
cher(ar1,ar2,*arfin,n*2);
for(int i=0;i<n*2;i++)
cout<<arfin[i]<<' ';
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<n;i++)
if(i%2==0)
{ar3f[i]=ar1[i1];
i1++;}
else
{ar3f[i]=ar2[i2]; i2++;}}



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
К сожалению, ваш код содержит несколько ошибок и не выполняет требуемые действия. Я исправил код и добавил комментарии для объяснения каждого шага. Вот исправленный код:
cpp#include <iostream>
#include <cstdlib>
using namespace std;
// Функция для формирования третьего массива
void createThirdArray(int* firstArray, int* secondArray, int* thirdArray, int size)
{
for (int i = 0; i < size; i++)
{
// Заполняем третий массив значениями из первого и второго массивов по принципу "зиг-зага"
if (i % 2 == 0)
thirdArray[i] = firstArray[i / 2];
else
thirdArray[i] = secondArray[i / 2];
}
}
int main()
{
setlocale(LC_CTYPE, "Russian");
int size;
cout << "Введите размер массива: ";
cin >> size;
int* firstArray = new int[size];
int* secondArray = new int[size];
int* thirdArray = new int[size * 2]; // Размер третьего массива будет удвоенным
int choice;
cout << "Выберите способ заполнения массивов:\n";
cout << "1. Вручную\n";
cout << "2. Рандомно\n";
cin >> choice;
switch (choice)
{
case 1:
cout << "Введите элементы первого массива:\n";
for (int i = 0; i < size; i++)
{
cin >> firstArray[i];
}
cout << "Введите элементы второго массива:\n";
for (int i = 0; i < size; i++)
{
cin >> secondArray[i];
}
break;
case 2:
cout << "Массивы будут заполнены рандомными значениями.\n";
for (int i = 0; i < size; i++)
{
firstArray[i] = rand() % 100;
secondArray[i] = rand() % 100;
}
break;
default:
cout << "Некорректный выбор.\n";
delete[] firstArray;
delete[] secondArray;
delete[] thirdArray;
return 0;
}
// Вывод первого и второго массивов
cout << "Первый массив: ";
for (int i = 0; i < size; i++)
{
cout << firstArray[i] << " ";
}
cout << endl;
cout << "Второй массив: ";
for (int i = 0; i < size; i++)
{
cout << secondArray[i] << " ";
}
cout << endl;
// Вызов функции для формирования третьего массива
createThirdArray(firstArray, secondArray, thirdArray, size);
// Вывод третьего массива
cout << "Третий массив: ";
for (int i = 0; i < size * 2; i++)
{
cout << thirdArray[i] << " ";
}
cout << endl;
// Освобождение


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili