Произвести замену в каждом массиве всех отрицательных элементов на значение их удвоенного модуля - C (СИ)
Формулировка задачи:
Даны массивы А(20), В(12) и С(25). Произвести замену в каждом массиве всех отрицательных элементов на значение их удвоенного модуля ПРИ ПОМОЩИ ФУНКЦИИ
Сделал вот что, помогите разобраться, почему не работает и что нужно доделать.
#include <stdio.h> #include <conio.h> void sozd (char x, int y) { int i, p; printf("Massiv %s[%d]", x[y]); for (i=0; i<y; i++) { p=rand()%50; x[i]=p; prinf("%d", x[i]); } } void zamena (char x, int y) { int i; for (i=0; i<y; i++) { if(x[i]<0) x[i]=x[i]*(-2); } } int main() { int i, p; char A,B,C; int s,x[i]; sozd(A,20); sozd(B,12); sozd(C,25); }
Решение задачи: «Произвести замену в каждом массиве всех отрицательных элементов на значение их удвоенного модуля»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> #include <math.h> #define N 20 #define M 12 #define K 25 //generator massiva void generator(int vec[], const int size); //vyvod masiva na ekran void print(int vec[], const int size); //funkcija zameny elementov void change(int vec[], const int size); int main() { //kazdyj raz budet generirovatsia drugoj massiv srand(time(NULL)); int A[N], B[M], C[K]; //generirujem tri massiva generator(A,N); generator(B,M); generator(C,K); //vyvodim tri massiva print(A,N); print(B,M); print(C,K); //proizvodim zamenu change(A,N); change(B,M); change(C,K); //vyvodim izmenionyje massivy print(A,N); print(B,M); print(C,K); getche(); } void generator(int vec[], const int size) { for(int i=0; i<size; i++) { vec[i] = 5 - rand()%10; } } void print(int vec[], const int size) { printf("\nGenerated array with size: %d\n",size); for(int i=0; i<size; i++) { printf("%3d",vec[i]); } } void change(int vec[], const int size) { for(int i=0; i<size; i++) { if(vec[i] < 0) { vec[i] = abs(vec[i]*2); } } }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с I/O, генерацией случайных чисел и математическими операциями
- Определяем константы для размера массивов
- Создаем функцию generator(), которая генерирует случайные значения для каждого элемента массива
- Создаем функцию print(), которая выводит сгенерированный массив на экран
- Создаем функцию change(), которая производит замену отрицательных элементов массива на удвоенное значение их модуля
- В функции main() создаем три массива (A, B, C) размером N, M и K соответственно и заполняем их случайными значениями с помощью функции generator()
- Выводим заполненные массивы на экран с помощью функции print()
- Производим замену отрицательных элементов в каждом массиве с помощью функции change()
- Выводим измененные массивы на экран с помощью функции print()
- Запускаем программу
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д