Лабораторка Завтра

  • Автор темы BoMA
  • Дата начала
Статус
Закрыто для дальнейших ответов.
B

BoMA

#1
:blush:
Дан массив y1, ... , y20.
Сформировать массив Z1, ... , Z20, элементы которого соответствуют элементам yi , сдвинутым на одну позицию влево, т.е.
Z1 = y2 ; Z2 = y3 ; ... ; Z19 = y20 ; Z20 = y1. Умножить все элементы Zi на 2.


Использовать вывод из файла и указатели
Код:
#include <iostream>
#include <conio.h>
#include <iomanip>
#define n 20
using namespace std;



void main()

{ //const int n=5;
int x;
setlocale(LC_ALL,"Russian"); 
do 
{ 
cout<<"Введите Размер Массива У от 0 до 20"<<endl; 
cin>>x;
}

while((x<0)||(x>=n));

int y[n]; 
cout<<" Массив У:"<<endl;
for (int i=0; i<x; i++)
{ cout<<" Y ["<<i<<"]";
cin>>y[i]; 
}
cout <<" Массив Y Индексы:"<<" "; 
for (int i=0; i<x; i++)
{
cout<<setfill(' ')<<setw(2)<<i<<" ";
}
cout <<endl<<" Массив Y Элементы:";
for (int i=0; i<x; i++){
cout<<setfill(' ')<<setw(2)<<y[i]<<" ";
}
int z[n];
for (int i=0, j = i + 1; i<x; i++,j++){
if (j>=x)
j=0;
z[i]=y[j];
z[i]=z[i]*2;
} 
cout<<endl<<" Массив Z Индексы: "<<" "; 
for (int i=0; i<x; i++)
{
cout<<setfill(' ')<<setw(2)<<i<<" ";
}
cout<<endl;
cout<<" Массив Z Элементы:"<<" ";
for ( int i=0; i<x; i++)
{
cout<<setfill(' ')<<setw(2)<<z[i]<<" ";
}

cout<<endl<<" Нажмите любую клавишу для выхода "<<endl;
_getch();
}
Добавлено: это без указателя и файла решил
 
R

rrrFer

#2
с указателем тоже самое, только
a Замени на (*a + i)
с файла нужно только ввести, в чем именно проблема.

Решил ты криво.
Код:
int y[n];
int z[n];
зачем 2 массива?
 
Статус
Закрыто для дальнейших ответов.