Поменять все знаки элементов массива на противоположный - C (СИ)
Формулировка задачи:
Помогите сделать задание :
Поменять все знаки элементов массива на противоположный.
Вот что получилось у меня :
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<windows.h>
int main()
{
int i,n,j,k,r=-1,g;
double x[7]={4, 8, 13, -34, 16, 34, 16} , y[7];
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
//Ввод и контроль размерности массива
printf("\t Введите размер массива <=7\n");
scanf("%d",&n);
if (n<=0 || n>7)
{ printf("\t Размер массива n=%d не соответствует размеру 1..7 элементов\n",n);
printf("\nДля завершения программы нажмите любую клавишу\n");
getch(); exit(0);
}
//Вывод исходного массива
printf("Исходный массив х размером %d\n",n);
for(i=0; i<n;i++)
printf("%8.2lf",x[i]);
for(i=0 ; i<n ; i++)
if(x[i]<0 || x[i]>0 )
{
x[ i ]*r ;
}
printf(" массив х размером %d\n",n);
for(i=0; i<n;i++)
printf("%8.2lf",x[i]);
getch();
return 0;
}Решение задачи: «Поменять все знаки элементов массива на противоположный»
textual
Листинг программы
for(i=0 ; i<n ; i++)
if(x[i]<0 || x[i]>0)
{
x[ i ]*r ;
}
Объяснение кода листинга программы
В данном коде выполняется следующая последовательность действий:
- Задается начальное значение переменной
iравное 0. - Задается конечное значение переменной
iравноеn. - Перебираются все элементы массива
xс индексами от 0 доn-1. - Для каждого элемента массива
xпроверяется условиеx[i]<0 || x[i]>0. - Если условие выполняется, то значение переменной
x[ i ]умножается наr. - Значение переменной
iувеличивается на 1. - Цикл продолжается до тех пор, пока условие
i<nвыполняется. В результате выполнения данного кода, все положительные элементы массиваxбудут изменены на отрицательные, а все отрицательные элементы массиваxбудут изменены на положительные.