int* massiv (int n)
{
int *a = new int[2*n];
for(int i = 0, j = 1; i < 2*n; i +=2, j++)
{
a = j;
a[i + 1] = 2*n - j + 1;
}
return a;
}
задача с массивом помогите реализовать(С)
помогите пожалуйста, сессия к концу подходит а я вот сделать не могу:(
Но ладно. Первый вариант функции на си++
Код:
Немного продвинутый вариант (лучше не нести преподавателю - заподозрит помощь со стороны):
Код:
#include<new>
int* massiv (size_t n)
{
int *a;
try{
a = new int[2*n];
}
catch(bad_alloc xa){
cout << "error" << endl;
return a = 0;
}
for(int i = 0, j = 1; i < 2*n; i +=2, j++)
{
a = j;
a[i + 1] = 2*n - j + 1;
}
return a;
}
int* massiv (size_t n)
{
int *a;
try{
a = new int[2*n];
}
catch(bad_alloc xa){
cout << "error" << endl;
return a = 0;
}
for(int i = 0, j = 1; i < 2*n; i +=2, j++)
{
a = j;
a[i + 1] = 2*n - j + 1;
}
return a;
}
Код:
//---------------------------------------------------------------------------
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <string.h>
//---------------------------------------------------------------------------
int enter_dim();
int* massiv (int n);
//---------------------------------------------------------------------------
void main(void)
{
int n,a;
clrscr();
n = enter_dim();
printf("\n pri n=%d massiv budet vigliadet':\n\n %d ",n,a);
getch();
}
//-----------------------------------------------------------------------------
int enter_dim()
{
int n;
printf("\n Vvedite chislo n: ");
scanf ("%d", &n);
return n;
}
//------------------------------------------------------------------------------
int* massiv (int n)
{
int *a = new int[2*n];
for(int i = 0, j = 1; i < 2*n; i +=2, j++)
{
a = j;
a[i + 1] = 2*n - j + 1;
}
return a;
}
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <string.h>
//---------------------------------------------------------------------------
int enter_dim();
int* massiv (int n);
//---------------------------------------------------------------------------
void main(void)
{
int n,a;
clrscr();
n = enter_dim();
printf("\n pri n=%d massiv budet vigliadet':\n\n %d ",n,a);
getch();
}
//-----------------------------------------------------------------------------
int enter_dim()
{
int n;
printf("\n Vvedite chislo n: ");
scanf ("%d", &n);
return n;
}
//------------------------------------------------------------------------------
int* massiv (int n)
{
int *a = new int[2*n];
for(int i = 0, j = 1; i < 2*n; i +=2, j++)
{
a = j;
a[i + 1] = 2*n - j + 1;
}
return a;
}
[COLOR="Red"]Оформляй код по Правилам.[/COLOR]
Код:
#include<iostream>
using namespace std;
int* massiv (size_t n)
{
int *a = new int[2*n];
for(int i = 0, j = 1; i < 2*n; i +=2, j++)
{
a = j;
a[i + 1] = 2*n - j + 1;
}
return a;
}
int main()
{
int n = 55; // обойдусь без диалога с пользователем
int *b = massiv(n);
if (b == 0) return 1;
for(int i = 0; i < 2*n; i++)
{
cout << b << endl;
}
delete [] b;
}
using namespace std;
int* massiv (size_t n)
{
int *a = new int[2*n];
for(int i = 0, j = 1; i < 2*n; i +=2, j++)
{
a = j;
a[i + 1] = 2*n - j + 1;
}
return a;
}
int main()
{
int n = 55; // обойдусь без диалога с пользователем
int *b = massiv(n);
if (b == 0) return 1;
for(int i = 0; i < 2*n; i++)
{
cout << b << endl;
}
delete [] b;
}
на си будет похоже, но названия некоторых функций поменяются