Error C2082: переопределение формального параметра "arr" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задача такая: нужно два массива записать в один
#include <iostream>  
#include <math.h>
#include <conio.h>
#include <time.h>
#include <math.h>
using namespace std;
 
int *createArr(int size){ 
    int *arr=new int [size];   
    for(int i =0; i <size;i++){
        *(arr+i)=rand()%10;
    }
    return arr;
}
int *Arr3(int *arr, int *arr2, int size){
    int *arr, *arr2=new int [size];      //почему в этом месте ошибка не пойму
    int *arr3=new int [*arr+*arr2]; 
    return arr3;
}
void show(int *arr, int size){
    for(int i=0; i<size;i++){
        cout<<*(arr+i)<<" ";
    }
    cout<<endl;
}
void main(){
    setlocale(LC_ALL, "rus");
    int size=5;
    int *mas=createArr(size);
    show(mas,size);
    int *mas2=createArr(size);
    show(mas,size);
    int *mas3=Arr3(mas, mas2,size);
    show(mas,size);
 
}

Решение задачи: «Error C2082: переопределение формального параметра "arr"»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
 
//-----------------------------------------------------------------------------
int* createArr(unsigned size)
{
    int* arr = malloc(sizeof(int) * size);
    unsigned i;
 
    for (i = 0; i < size; ++i)
    {
        arr[i] = rand() % 10;
    }
 
    return arr;
}
//-----------------------------------------------------------------------------
void show(int* arr, unsigned size)
{
    unsigned i;
    for (i = 0; i < size; ++i)
    {
        printf("%d ", arr[i]);
    }
    printf("\n");
}
//-----------------------------------------------------------------------------
int* merge(int* arr1, unsigned size1, int* arr2, unsigned size2)
{
    int* arr = malloc(sizeof(int) * (size1 + size2));
 
    memcpy(arr, arr1, sizeof(int) * size1);
    memcpy(arr + size1, arr2, sizeof(int) * size2);
 
    return arr;
}
//-----------------------------------------------------------------------------
 
int main()
{
    unsigned size = 5;
    int* mas1, * mas2, * mas3;
 
    srand(time(NULL));
 
    mas1 = createArr(size);
    show(mas1, size);
    mas2 = createArr(size);
    show(mas2, size);
 
    mas3 = merge(mas1, size, mas2, size);
    show(mas3, 2 * size);
 
    return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы