Определить количество отрицательных элементов в массиве и вывести их адреса - C (СИ)
Формулировка задачи:
Написать программу, определяющую количество отрицательных элементов в массиве и выводящую их адреса. При вводе/выводе элементов использовать индексы, а обработку элементов массива осуществлять с помощью указателей. Расчет должен производиться в функции, в которую массив передается по указателю.
Помогите, х3 что делать, я походу вообще не понимаю указатели, выводить чушь полную.
#include "stdio.h"
Листинг программы
- int kolich(int n,float *mas)
- {
- int i,k;
- k=0;
- for (i=1; i<n;i++)
- {
- if (*(mas+i)<0)
- {
- k=k+1;
- return (mas+i);
- }
- }
- }
- int main()
- {
- int n,i,k;
- float *mas;
- printf ("vvedite razmer massiva:");
- scanf ("%d", &n);
- mas=(float *)calloc(n,sizeof(float));
- for(i=1;i<n;i++)
- {
- printf("massiv[%d]=",i);
- if (scanf("%f",&mas[i])==1)
- {
- kolich(n,mas);
- printf ("k=%d\n",k);
- }
- else printf ("nekorrektnie dannie");
- }
- return 0;
- }
Решение задачи: «Определить количество отрицательных элементов в массиве и вывести их адреса»
textual
Листинг программы
- int amount(int n, float *mas)
- {
- int k = 0;
- for (int i = 0; i < n; i++)
- if (*(mas + i) < 0){
- k++;
- printf("& massiv[%i] = %p\n", i, (mas + i));
- }
- return k;
- }
Объяснение кода листинга программы
- В функции
amount
определены две переменные:k
иi
. Значение переменнойk
инициализируется нулем, а переменнаяi
используется для цикла. - Следующая строка кода - это условие для цикла. Цикл будет выполняться до тех пор, пока значение переменной
i
меньшеn
. - Внутри цикла проверяется значение элемента массива
mas + i
. Если оно меньше нуля, то значение переменнойk
увеличивается на единицу. - После этого выводится сообщение, содержащее номер элемента массива и его адрес.
- В конце функции возвращается значение переменной
k
. - Функция
amount
предназначена для определения количества отрицательных элементов в массиве и вывода их адресов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д