Найти первый отрицательный элемент массива - C (СИ)
Формулировка задачи:
Нужно ввести массив с клавиатуры и заменить нечетные элементы нулями, и вывести индекс первого отрицательного элемента. Сижу весь вечер, нифига не выходит. Точнее, выходит ужас типа
Что делать?
Листинг программы
- #include <iostream.h>
- #include <stdafx.h>
- using namespace std;
- int main()
- {
- setlocale(LC_ALL, "RUS");
- int n, *mas, k = 0;
- printf("Введите размер массива:\n",n);
- scanf_s("$d",%n);
- mas = new int [n];
- for(int i = 0; i < n; i++)
- {
- printf("Введите размер массива:\n",i);
- scanf_s("$d",%mas[i]);
- }
- for(int i = 0; i < n; i++)
- {
- if(mas[i] < 0)
- {
- k = i;
- break;
- }
- }
- printf("Индекс первого отрицательного элемента:\n",k);
- for(int i = 0; i < n; i++)
- {
- if(mas[i] < 0)
- {
- mas[i] = 0;
- }
- }
- for(int i = 0; i < n; i++)
- {
- printf(" элемент:\n",i);
- printf("mas[i]",i);
- }
- return 0;
- }
Решение задачи: «Найти первый отрицательный элемент массива»
textual
Листинг программы
- #include <stdio.h>
- #include <conio.h>
- #include <locale.h>
- int main()
- {
- setlocale(LC_ALL, "RUS");
- int i,n, *mas, k = -1;
- printf("Введите размер массива:");
- scanf("%d",&n);
- mas = new int[n];
- for(i = 0; i < n; i++)
- {
- printf("Введите %d-й элемент массива:",i);
- scanf_s("%d",&mas[i]);
- }
- for(i = 0;i < n; i++)
- {
- if(mas[i] < 0)
- {
- k = i;
- break;
- }
- }
- if(k==-1)
- puts("Отрицательных элементов нет\n");
- else
- printf("Индекс первого отрицательного элемента:%d\n",k);
- for(i = 0; i < n; i++)
- {
- if(mas[i]%2 != 0) //нечетные не делятся на 2
- {
- mas[i] = 0;
- }
- }
- puts("массив после замены нечетных элементов на нули:");
- for(int i = 0; i < n; i++)
- printf("%d ",mas[i]);
- delete[] mas;
- puts("");
- getch();
- return 0;
- }
Объяснение кода листинга программы
В этом коде выполняются следующие действия:
- Включаются необходимые заголовочные файлы.
- Устанавливается русская локаль.
- Определяются переменные:
- i - используется для обозначения индекса элемента массива;
- n - используется для обозначения размера массива;
- mas - используется для обозначения адреса массива;
- k - используется для обозначения индекса первого отрицательного элемента массива;
- mas - используется для ввода-вывода значений.
- Пользователю предлагается ввести размер массива.
- Динамически выделяется память под массив.
- Заполняется массив значениями от пользователя.
- Первый отрицательный элемент массива сохраняется в переменной k.
- Если в массиве нет отрицательных элементов, выводится соответствующее сообщение.
- Если в массиве есть отрицательные элементы, выводится сообщение с индексом первого отрицательного элемента.
- Все четные элементы массива заменяются на 0.
- Выводится сообщение о массиве после замены нечетных элементов на нули.
- Массив освобождается от выделенной под него памяти.
- Отображается клавиша для закрытия консоли.
- Возвращается 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д