Написать функцию нахождения в массиве целых чисел наименьшего по абсолютной величине числа - 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, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д