Только начал изучать C, и было бы здорово, если бы вы могли помочь мне со следующим:
Я только что написал программу, которая сохраняет 4-компонентный вектор, введенный пользователем (используя функцию под названием save_vector
), печатает его (используя функцию print_vector
) и, если какой-либо компонент является отрицательным, он также печатает его со всеми компонентами в абсолютном значении (положительные значения), используя функцию absolute_values
.
Теперь я хотел бы работать только с вектором, который имеет абсолютные значения. Как я могу сохранить новые абсолютные значения в том же векторе и переопределить введенные пользователем значения?
Будем рады прочитать любые предложения по улучшению этого куска кода! Спасибо! : -)
#include <stdio.h>
void print_vector(int N,float * V);
void save_vector(int N,float * V);
void absolute_values(int N, float * V);
int main(void)
{
const int n=5;
int i;
float v[n];
puts("Enter the 5 components of the vector:");
save_vector(n, v);
puts("\nThe vector is:");
print_vector(n, v);
puts("\nThe absolute vector is:");
absolute_values(n, v);
return 0;
}
void save_vector(int N, float * V)
{
int i;
for(i=0;i<N;i++)
scanf("%f",V+i);
}
void print_vector(int N, float * V)
{
int i;
for(i=0;i<N;i++)
printf(" %.2f ",*(V+i));
}
void absolute_values(int N, float * V)
{
int i;
for(i=0;i<N;i++)
{
printf(" %.2f ", ((V[i]<0)?-V[i]:V[i]));
}
}