Объявите указатель на массив типа int и выделите память память для 12-ти элементов. напишите три функции: первая должна заполнить ячейки данными, вторая – показать данные на экран, третья - поменяет значения четных и нечетных ячеек массива.
Например есть массив из 4-х элементов: 1 2 3 4
Данные после работы функции: 2 1 4 3
C/C++
Программа на C срочно
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define RAND(min, max) (rand() % ((max) - (min)) + (min))
void fill(int* box, size_t n) {
size_t i = 0;
srand((unsigned)time(NULL));
while (i < n) {
box[i] = RAND(10, 100);
++i;
}
}
void show(int* box, size_t n) {
size_t i = 0;
while (i < n) {
printf("%5i", box[i]);
++i;
}
puts("");
}
void swap(int* a, int* b) {
int t = *a;
*a = *b;
*b = t;
}
void flip(int* box, size_t n) {
size_t i = 0;
size_t j = 1;
while (j < n) {
swap(&box[i], &box[j]);
i += 2;
j += 2;
}
}
int main(void) {
size_t n = 12;
int* box = (int*)malloc(n * sizeof(int));
fill(box, n);
show(box, n);
flip(box, n);
show(box, n);
free(box);
system("pause > nul");
return 0;
}
#include <stdio.h>
#include <time.h>
#define RAND(min, max) (rand() % ((max) - (min)) + (min))
void fill(int* box, size_t n) {
size_t i = 0;
srand((unsigned)time(NULL));
while (i < n) {
box[i] = RAND(10, 100);
++i;
}
}
void show(int* box, size_t n) {
size_t i = 0;
while (i < n) {
printf("%5i", box[i]);
++i;
}
puts("");
}
void swap(int* a, int* b) {
int t = *a;
*a = *b;
*b = t;
}
void flip(int* box, size_t n) {
size_t i = 0;
size_t j = 1;
while (j < n) {
swap(&box[i], &box[j]);
i += 2;
j += 2;
}
}
int main(void) {
size_t n = 12;
int* box = (int*)malloc(n * sizeof(int));
fill(box, n);
show(box, n);
flip(box, n);
show(box, n);
free(box);
system("pause > nul");
return 0;
}
Dilshod Usmonov
нужно чтобы значения самому задавать
// Заполнение
void fill_arr(int *arr, int size)
{
for(int i = 0; i < size; i++)
scanf("%d", &arr[i]);
}
// Вывод
void print_arr(int *arr, int size)
{
for(int i = 0; i < size; i++)
printf("%3d", arr[i]);
printf("\n");
}
// Замена
void swap_arr(int *arr, int size)
{
for(int i = 0; i < size - 1; i += 2)
{
int tmp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = tmp;
}
}
int main()
{
int *arr;
arr = calloc(sizeof(int), 12);
fill_arr(arr, 12);
print_arr(arr, 12);
swap_arr(arr, 12);
print_arr(arr, 12);
free(arr);
}
P.S. Код не тестил
void fill_arr(int *arr, int size)
{
for(int i = 0; i < size; i++)
scanf("%d", &arr[i]);
}
// Вывод
void print_arr(int *arr, int size)
{
for(int i = 0; i < size; i++)
printf("%3d", arr[i]);
printf("\n");
}
// Замена
void swap_arr(int *arr, int size)
{
for(int i = 0; i < size - 1; i += 2)
{
int tmp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = tmp;
}
}
int main()
{
int *arr;
arr = calloc(sizeof(int), 12);
fill_arr(arr, 12);
print_arr(arr, 12);
swap_arr(arr, 12);
print_arr(arr, 12);
free(arr);
}
P.S. Код не тестил
Похожие вопросы
- Помогите пожалуйста написать программу на C++. Срочно нужно, пожалуйста.
- Составить программу c++ срочно пожалуйста
- Помогите написать программу на C++
- Написать программу на c++
- Помоги пожалуйста написать программу на C++
- Помогите с программой на C++
- Короткая программа на C++
- Написать программу на C++.Создать класс vector3d, задаваемый тройкой координат. Создать конструктор...
- Помогите написать программу на C++
- Составить программу на c++ УСПОЛЬЗУЯ МАССИВ!!!