Написать функцию нахождения в массиве целых чисел наименьшего по абсолютной величине числа - C (СИ) (79011)
Формулировка задачи:
Нужно написать функцию нахождения в массиве целых чисел наименьшего по абсолютной величине числа,допустимо использование только stdio.h.Код,который ничего не выводит,помогите найти ошибку,кто-нииибудь)
#include "stdafx.h"
#include "stdio.h"
#define N 10
int abs_1(int a)
{
if (a<0)
return (0-a);
else
return a;
}
int _tmain(int argc, _TCHAR* argv[])
{
int array[N];
int a=0;
int i=0;
for (i=0;i<N;i++)
{
scanf ("%d\n",& array[i]);
array[i]=abs_1(a);
}
a=array[0];
for(i=1;i<N;i++)
{
if (a<array[i])
a=array[i];
}
printf("%d\n",a);
return 0;
}Решение задачи: «Написать функцию нахождения в массиве целых чисел наименьшего по абсолютной величине числа»
textual
Листинг программы
#include "stdafx.h"
#include "stdio.h"
#define N 10
int abs_1(int a)
{
if (a<0)
return (0-a);
else
return a;
}
int _tmain(int argc, _TCHAR* argv[])
{
int array[N];
int a=0;// запоминаем эту строку
int i=0;
for (i=0;i<N;i++)
{
scanf ("%d\n",& array[i]);// после этой строки array[i] равно числу которое ввели с клавиатуры
array[i]=a// тут нужно добавить ; и кроме того array[i] делаем равным 0
array[i]=abs_1(a);// и здесь array[i] делаем равным 0
}
a=array[0];
for(i=1;i<N;i++)
{
if (a<array[i])
a=array[i];
}
printf("%d\n",a);
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем размер массива N
- Пишем функцию abs_1, которая принимает целочисленный аргумент a и возвращает его абсолютное значение (в данном случае просто меняем знак на противоположный)
- Запускаем основную функцию _tmain, которая принимает целочисленный аргумент argc и указатель на строку argv
- Создаем массив array типа int размером N
- Задаем начальное значение переменной a равное 0
- Проходим циклом от 0 до N-1 и считываем в каждую ячейку массива array значение, введенное пользователем с клавиатуры
- Добавляем в условие if после scanf, чтобы сделать array[i] равным 0, если введенное число отрицательное
- Добавляем в условие if после array[i]=abs_1(a), чтобы сделать array[i] равным 0, если введенное число отрицательное
- Находим минимальное значение в массиве array путем перебора всех его элементов и сравнения их с переменной a
- Выводим найденное минимальное значение на экран
- Возвращаем 0, чтобы указать, что программа успешно завершилась