Форум программистов, компьютерный форум CyberForum.ru

Надо переделать данную прогу, что б решалось не просто так, а через функцию - C++

Восстановить пароль Регистрация
 
Dima1998789
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 2
11.10.2016, 10:11     Надо переделать данную прогу, что б решалось не просто так, а через функцию #1
#include <stdio.h>
#include <math.h>
#include <windows.h>


#define ARRSIZE 10
int main(void){
double arr[ARRSIZE] = { -1.4, -0.8, 2.2, -4.0, -5.5, 2.0, 0.0, 0.0, -15.0, 11.4 };
double max, sum, tmp;
int i, maxi, j;


printf("\nИсходный массив:\n");
for ( i = 0; i < ARRSIZE; ++i )
printf("ARR[%d] = %5.1f\n", i, arr[i]);

/* 1 */
maxi = 0;
max = fabs(arr[maxi]);
for ( i = 1; i < ARRSIZE; ++i ){
if ( max < fabs(arr[i]) ){
maxi = i;
max = fabs(arr[maxi]);
}
}
printf("\nМаксимальный по модулю элемент:\nARR[%d] = %.1f\t%.1f\n", maxi, arr[maxi], max);

/* 2 */
i = 0;
sum = 0.0;
while ( arr[i] < 0 && i < ARRSIZE )
++i;
if ( i == ARRSIZE ){
printf("\nВ массиве нет положительных элементов!\n");
goto THREE;
}
++i;
while ( arr[i] < 0 && i < ARRSIZE )
sum += arr[i++];
if ( i == ARRSIZE ){
printf("\nВ массиве только один положительный элемент!\n");
goto THREE;
}
printf("\nСумма элементов между первым и вторым положительными равна %.1f\n", sum);


THREE:

for ( j = ARRSIZE - 1; j >=0 && arr[j] == 0.0; --j )
;
if ( j < 0 ){
printf("\nВсе элементы в массиве нулевые\n");
return 0;
}
for ( i = 0; i < j; ++i ){
while ( arr[i] == 0 && i < j ){
tmp = arr[i];
arr[i] = arr[j];
arr[j--] = tmp;
}
}

printf("\nВсе нули в конце массива\n");
for ( i = 0; i < ARRSIZE; ++i )
printf("ARR[%d] = %5.1f\n", i, arr[i]);

return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2016, 10:11     Надо переделать данную прогу, что б решалось не просто так, а через функцию
Посмотрите здесь:

Можно ли данную прогу переделать в справочную систему компонентов компьютерной техники?!!! C++
Переделать код программы так, чтобы решалась через указатели и функцию C++
C++ как написать данную программу через функцию?
C++ Как сделать так чтобы запустить прогу через Ехешник?
Переделать программу так что бы можно было нарисовать линиями C++
Как переделать через функцию?( C++
C++ Вычисление ближайшей точки, что не так? как переделать ?
как написать данную прогу через два цикла C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 06:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru