В массиве найти количество и координаты перемен знака - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задача на языке Си: Нужно в массиве найти колличество и координаты перемен знака. P.s уже неделю пробую ничего не выходит((((

Решение задачи: «В массиве найти количество и координаты перемен знака»

textual
Листинг программы
#pragma hdrstop
#pragma argsused
#include <iostream.h>
#include <conio.h>
 
int main(int argc, char* argv[])
{
  int mas [10];
  char ch;
  int mesto[10];
  int count=0;
 
  for (int i=0; i<10; i++)
   { cin>>mas[i]; }
 
   if   (mas[0]>=0)  ch = '+';
   else              ch = '-';
 
  for(int i=0; i<10; i++)
   {
     if (mas[i]>=0)
      {
         if (ch=='-')
          { ch='+';
            mesto[count]=i;
            count++;
          }
      }
     else
      {
          if (ch=='+')
          { ch='-';
            mesto[count]=i;
            count++;
          }
      }
   }
 
 cout<<"a sign changes after the ";
   for (int i=0; i<count; i++)
    {
      if (i!=0) cout<<","<<mesto[i];
      else      cout<<mesto[i];
    }
 cout<<" array cell(s)"<<"\n";
 cout<<"a sign changes "<<count<<" times";
 
 getch();
}

Объяснение кода листинга программы

В этом коде выполняется следующая последовательность действий:

  1. Объявляются переменные:
    • int mas[10] - массив из 10 целых чисел;
    • char ch - символ, который будет использоваться для обозначения знака;
    • int mesto[10] - массив из 10 целых чисел;
    • int count=0 - счётчик количества найденных знаков.
  2. Заполняется массив mas с помощью ввода с клавиатуры. Для этого используется цикл for и функция cin.
  3. Проверяется значение первого элемента массива mas. Если оно больше или равно нулю, то в переменную ch записывается символ '+', иначе в ch записывается символ '-'.
  4. С помощью двух вложенных циклов for проверяются все элементы массива mas. Если значение элемента больше или равно нулю и в переменной ch сейчас символ '-', то в ch записывается символ '+', в массив mesto записывается номер текущего элемента, а счётчик count увеличивается на единицу. Если значение элемента меньше нуля, то в ch записывается символ '-', в массив mesto записывается номер текущего элемента, а счётчик count увеличивается на единицу.
  5. С помощью цикла for и функции cout выводятся на экран номера ячеек массива mesto, разделенные запятыми.
  6. С помощью функции cout выводится сообщение о количестве найденных знаков.
  7. С помощью функции getch приостанавливается выполнение программы и начинается ввод с клавиатуры.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы