Дан одноместный числовой массив. Написать функции :
- Заполнения массива случайными числами ;
- Вывода массива на экран монитора ;
- Формирования массива - результата путём переноса в него всех элементов исходного массива, кратных к числу k.
Память под оба массива выделить статически в функции main.
Другие языки программирования и технологии
С++.Дан одномерный числовой массив. Написать функции.
#inсludе <iоstrеаm>
#inсludе <сstdlib>
#inсludе <сtimе>
using nаmеsрасе std;
vоid RаndАrr(int *а, int sizе) {
fоr (int i = 0; i < sizе; а [i] = rаnd() % 100 - 50, i++);
}
vоid РrintАrr(int *а, int sizе) {
fоr (int i = 0; i < sizе; рrintf("%4d", а [i]), i++);
соut << еndl;
}
int GеnАrr(int *а, int sizе, int k, int *b){
int r = 0;
fоr (int i = 0; i < sizе; а [i] % k == 0? b[r] = а [i], r++ : i = i, i++);
rеturn r;
}
int mаin() {
srаnd(timе (NULL));
int n = rаnd() % 20 + 1, а [n], b[n], k = rаnd() % 100 - 50, n1;
RаndАrr(а, n);
РrintАrr(а, n);
соut << "К = " << k << еndl;
n1 = GеnАrr(а, n, k, b);
РrintАrr(b, n1);
сin.gеt();
rеturn 0;
}
#inсludе <сstdlib>
#inсludе <сtimе>
using nаmеsрасе std;
vоid RаndАrr(int *а, int sizе) {
fоr (int i = 0; i < sizе; а [i] = rаnd() % 100 - 50, i++);
}
vоid РrintАrr(int *а, int sizе) {
fоr (int i = 0; i < sizе; рrintf("%4d", а [i]), i++);
соut << еndl;
}
int GеnАrr(int *а, int sizе, int k, int *b){
int r = 0;
fоr (int i = 0; i < sizе; а [i] % k == 0? b[r] = а [i], r++ : i = i, i++);
rеturn r;
}
int mаin() {
srаnd(timе (NULL));
int n = rаnd() % 20 + 1, а [n], b[n], k = rаnd() % 100 - 50, n1;
RаndАrr(а, n);
РrintАrr(а, n);
соut << "К = " << k << еndl;
n1 = GеnАrr(а, n, k, b);
РrintАrr(b, n1);
сin.gеt();
rеturn 0;
}
Дмитрий Шин
Благодарю)
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
void fill(int* v, const size_t s, int a, int b) {
static auto flag = true;
if (flag) {
srand(unsigned int(time(nullptr)));
flag = !flag;
}
if (a > b) {
auto t = a;
a = b;
b = a;
}
auto end = v + s;
for (auto p = v; p != end; ++p) {
if (a != b) *p = a + rand() % (b - a);
else *p = a;
}
}
void output(int* v, const size_t s) {
auto end = v + s;
for (auto p = v; p != end; ++p) cout << ' ' << *p;
cout << endl;
}
void change(int* dst, int* src, const size_t sz, const int k) {
auto end = src + sz;
for (auto d = dst, s = src; s != end; ++d, ++s) *d = *s * k;
}
int main() {
const size_t size = 25;
int va[size], vb[size];
fill(va, size, 10, 25);
output(va, size);
auto k = 4;
change(vb, va, size, 4);
cout << " k = " << k << endl;
output(vb, size);
cin.get();
}
#include <ctime>
#include <cstdlib>
using namespace std;
void fill(int* v, const size_t s, int a, int b) {
static auto flag = true;
if (flag) {
srand(unsigned int(time(nullptr)));
flag = !flag;
}
if (a > b) {
auto t = a;
a = b;
b = a;
}
auto end = v + s;
for (auto p = v; p != end; ++p) {
if (a != b) *p = a + rand() % (b - a);
else *p = a;
}
}
void output(int* v, const size_t s) {
auto end = v + s;
for (auto p = v; p != end; ++p) cout << ' ' << *p;
cout << endl;
}
void change(int* dst, int* src, const size_t sz, const int k) {
auto end = src + sz;
for (auto d = dst, s = src; s != end; ++d, ++s) *d = *s * k;
}
int main() {
const size_t size = 25;
int va[size], vb[size];
fill(va, size, 10, 25);
output(va, size);
auto k = 4;
change(vb, va, size, 4);
cout << " k = " << k << endl;
output(vb, size);
cin.get();
}
Алексей Мосеев
b = t;
Дмитрий Шин
Благодарю)
Похожие вопросы
- Дан одномерный целочисленный массив a, состоящий из n элементов.
- Паскаль, домашка, одномерный массив и функции, ХЭЛП!
- Задан числовой массив A[1:m, 1:n]. Составить программу...
- Assembler. HEEEEEEEEEEEEELP! дан одномерный массив найти количество и сумму нечетных элементов assembler
- ПОМОГИТЕ плиззз написатьпрограммы«Обработка одномерных числовых массивов»
- Привет, помогите с программированием на СИ, передача массива в функцию..
- Как можно передать ДВУМЕРНЫЙ массив в функцию в С++, не создавая его, как глобальный. Пример ниже:
- Напишите программу для расчета среднего арифметического всех элементов числового массива рекурсией
- Вопрос массивам и функциям по с++
- Двойной массив в функцию.