М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
vkovbasa99
vkovbasa99
13.01.2023 12:31 •  Информатика

с программой, даже условие не могу понять хотя-бы натолкнуть на мысль Условие
Напишите функцию, которая как результат будет возвращать подпоследовательность элементов массива, начиная с позиции X до позиции Y включительно в обратном порядке с шагом Z как новый массив. По умолчанию шаг должен быть равен 1.

Ваша задача для заданного массива вывести срез с шагом 1 и с шагом, заданным с клавиатуры.

Формат входных данных
В первой строке задается натурально число N, (N ≤ 10000)- размер массива.

В следующей строке вводятся N целых чисел, по модулю не превосходящих 109 - элементы массива.

В последней строке вводятся три целых числа X, Y и Z (0 ≤ X ≤ Y < N, 0 < Z < N)- границы и шаг среза соответственно.

Формат выходных данных
В первой строке выведите перевернутый фрагмент массива с шагом 1.

Во второй строке выведите перевернутый фрагмент массива с шагом Z.

👇
Ответ:
SonyaYT
SonyaYT
13.01.2023

#include <iostream>

#include <vector>

 

using namespace std;

 

void srez(vector<int> arr, int x, int y, int z = 1) {

   for (int i = y; i >= x; i -= z) {

       cout << arr[i] << ' ';

   }

   cout << '\n';

}

 

int main() {

   int n;

   cin >> n;

   vector<int> arr(n);

   for (int i = 0; i < n; ++i) cin >> arr[i];

   int x, y, z;

   cin >> x >> y >> z;

   srez(arr, x, y);

   srez(arr, x, y, z);

   return 0;

}

Писал код сам, тоже по этой задаче С++

4,4(80 оценок)
Ответ:
Vikasuk
Vikasuk
13.01.2023

wog18303

сейчас

Информатика

1 - 4 классы

+18 б.

ответ дан

с программой, даже условие не могу понять хотя-бы натолкнуть на мысль

Условие

Напишите функцию, которая как результат будет возвращать подпоследовательность элементов массива, начиная с позиции X до позиции Y включительно в обратном порядке с шагом Z как новый массив. По умолчанию шаг должен быть равен 1.

Ваша задача для заданного массива вывести срез с шагом 1 и с шагом, заданным с клавиатуры.

Формат входных данных

В первой строке задается натурально число N, (N ≤ 10000)- размер массива.

В следующей строке вводятся N целых чисел, по модулю не превосходящих 109 - элементы массива.

В последней строке вводятся три целых числа X, Y и Z (0 ≤ X ≤ Y < N, 0 < Z < N)- границы и шаг среза соответственно.

Формат выходных данных

В первой строке выведите перевернутый фрагмент массива с шагом 1.

Во второй строке выведите перевернутый фрагмент массива с шагом Z.

1

СМОТРЕТЬ ОТВЕТ

ДОБАВИТЬ ОТВЕТ

Спросите wog18303 о заданном вопросе...

wog18303 ждёт твоего решения.

ответь на вопрос и заработай .

ответ

5,0/5

1

slysnenko

хорошист

34 ответов

469 пользователей, получивших

#include <iostream>

#include <vector>

using namespace std;

void srez(vector<int> arr, int x, int y, int z = 1) {

for (int i = y; i >= x; i -= z) {

cout << arr[i] << ' ';

}

cout << '\n';

}

int main() {

int n;

cin >> n;

vector<int> arr(n);

for (int i = 0; i < n; ++i) cin >> arr[i];

int x, y, z;

cin >> x >> y >> z;

srez(arr, x, y);

srez(arr, x, y, z);

return 0;

}

Объяснение:

4,7(2 оценок)
Открыть все ответы
Ответ:
Aynur123455
Aynur123455
13.01.2023

Объяснение:

const

 max_elements = 1000;

 a = 1;

 b = 15;

 first_file_name = '1.txt';

 second_file_name = '2.txt';

var

 i, j, n, r:integer;

 p:real;

 ar:array[1..max_elements] of integer;

 f1, f2:text;

begin

 randomize;

 writeln('Input n = ');

 readln(n);

 for i:=1 to n do begin

   ar[i]:=random(b-a+1)+a;

 end;

 assign(f1, first_file_name);

 rewrite(f1);

 for i:=1 to n do begin

   writeln(f1, ar[i]);

 end;

 close(f1);

 assign(f2, second_file_name);

 rewrite(f2);

 for i:=1 to n do begin

   p:=1;

   for j:=1 to i do

     p:=p*ar[j];

   writeln(f2, p:0:0);

 end;

 close(f2);

 readln;

end.

4,4(51 оценок)
Ответ:
Рубик11
Рубик11
13.01.2023

#include

#include

#include

#include

#include

#include

typedef struct

{

char imya[40];

char familiya[40];

char otchestvo[40];

int telefon;

int texpasport;

float pages ;

}gor;

void form(char mass[10], char *imya, char *familiya, char *otchestvo, int telefon, int texpasport)

{

file *f;

gor y;

int i;

if ((f=fopen(mass,"w"))==null) exit(1);

for (i=1; i< =3; i++)

{

cout< < "vvedite imya: ";

cin> > imya;

cout< < "vvedite familiya: ";

cin> > familiya;

cout< < "vvedite otchestvo: ";

cin> > otchestvo;

cout< < "vvedite telefon: ";

cin> > telefon;

cout< < "vvedite texpasport: ";

cin> > texpasport;

fwrite(& y,sizeof(gor),1,f);

if(ferror(f)! =null)

exit(2);

}

fclose(f);

}

void vivod(char mass[50])

{

file *f;

gor z;

if ((f=fopen(mass, "r"))==null) exit(3);

cout< < "fail: "<

while (! feof(f)) {

fread (& z,sizeof(gor),1,f);

if (! feof(f))

{

cout< < "imya: "<

cout< < "familiya: "<

cout< < "otchestvo: "<

cout< < "telefon: "<

cout< < "texpasport: "<

}

fclose(f);

}

}

void del(char fo[10], char fi[10])

{

file *f1,*f2;

gor d;

//char temp[40];

if ((f1=fopen(fi,"r"))==null) exit(4);

if ((f2=fopen(fo,"w"))==null) exit(5);

//cout < < "vvedite nazvanie na ydalenie - ";

//cin > > temp;

for (int i=0; i< 3; i++)

{

fread(& d,sizeof(gor),1,f1);

if (feof(f1)) break;

if (i> 2)

fwrite (& d,sizeof(gor),1,f2);

}

fclose(f2);

fclose(f1);

}

void dobav(char fi[10], char fo[10],char *imya, char *familiya, char *otchestvo, int telefon, int texpasport)

{

int q;

int i;

gor d;

file *f1,*f2;

char temp[40];

if ((f1=fopen(fi, "r"))==null) exit(4);

if ((f2=fopen(fo,"r+"))==null) exit(5);

cout < < "vvedite familiu, pered kotorym nuzno dobavit element: ";

cin > > temp;

for (i=0; i< 10; i++)

{

fread(& d,sizeof(gor),1,f2);

if (feof(f2)) break;

if (strcmp(d.familiya, temp)) break;

q=i;

}

for (i=0; i< 10; i++)

{

if (feof(f2)) break;

fwrite (& d,sizeof(gor),1,f2);

if (i==q-1)

{

cout< < "vvedite imya: ";

cin> > imya;

cout< < "vvedite familiya: ";

cin> > familiya;

cout< < "vvedite otchestvo: ";

cin> > otchestvo;

cout< < "vvedite telefon: ";

cin> > telefon;

cout< < "vvedite texpasport: ";

cin> > texpasport;

cout <

}

}

fclose(f2);

fclose(f1);

}

void main()

{

int n=10;

//cout < < "vvedite kol-vo zapisey: - ";

//cin> > n;

//cout <

form("f1.txt",n);

vivod("f1.txt");

del("f1.txt","f2.txt");

cout < < "posle udalenia: \n";

vivod("f2.txt");

getch();

n=1;

system("cls");

dobav ("f2.txt","f2.txt");

cout < < "posle dobavlenia: \n";

vivod ("f2.txt");

getch();

}

4,4(92 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ