pechyclava
?>

Найти номер первого нулевого элемента массива x1, x2, и сумму элементов пришедствующих ему

Информатика

Ответы

Sidorenko
Var x: array [1..20] of integer;       i, sum : integer; beginfor i: =1 to 25 do read(x[i]); sum: =0; i: =1; while x[i]< > 0 do begin sum: =sum+x[i]; i: =i+1; end; writeln('первый нулевой элемент  ', i); writeln('сумма  элементов до нулевого    ', sum); end.
evgeniishulov4696
Компьютеры используются с хх века, их возможности поражают, с компьютера можно войти в мировую паутину связывающую все компьютеры, так же на компьютере можно рисовать с специальной программы paint, и печать с программы word. в школах так же учат работать на компьютерах и програмированию. бывают разные языки програмирования, такие как c++, java, паскаль, pyton и другие. с этих "языков" люди могут создавать самые разные программы, от калькуляторов до сложнейших видео - игр. работать с компьютером должен уметь каждый ребенок и взрослый начиная с 7 лет, компьютеры развивать свой мозг, за компьютерами будущее!
vasiliiparshin7668

Решение с использованием указателей:

#include <iostream>

#include <ctime>

#define N 15

int main()  

{

   int A[N];

   int i, tmp, cnt;

   int *min = A,*max = A, *j;

   setlocale(LC_ALL, "Russian");

   // Автозаполнение

   srand(time(0));

   for (i = 0; i < N; i++)

       A[i] = rand() % 201 - 100;

   std::cout << "Исходный массив:" << std::endl;

   for (i = 0; i < N; i++)

       std::cout << *(A + i) << " ";

   // Находим минимальный и максимальный элементы массива, запоминаем их адреса

   for (i = 0; i < N; i++)

   {

       if (*(A + i) > *max) max = A + i;

       if (*(A + i) < *min) min = A + i;

   }

   // Мин. и макс. элементы могут находиться в разных местах относительно друг друга

   if (min < max)

   {

       cnt = ((max) - (min)) / 2;

       for (j = min + 1, i = 0; i < cnt; j++, i++)

       {

           tmp = *j;

           *j = *(min + 1 + (max - 1 - j));

           *(min + 1 + (max - 1 - j)) = tmp;

       }

   }

   else

   {

       cnt = ((min) - (max)) / 2;

       for (j = max + 1, i = 0; i < cnt; j++, i++)

       {

           tmp = *j;

           *j = *(max + 1 + (min - 1 - j));

           *(max + 1 + (min - 1 - j)) = tmp;

       }

   }

   std::cout << "\nРезультат:" << std::endl;

   for (i = 0; i < N; i++)

       std::cout << *(A + i) << " ";

   return 0;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Найти номер первого нулевого элемента массива x1, x2, и сумму элементов пришедствующих ему
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

aidapiltoyan43
kapi30
Alesander-Isaev684
Оксана Николаевич
vikola2008
kreon1
gorbelena1971
kizyaev6651
lider-mpl550
katya860531
Владислав-Александр32
bochkarevazh
Mariya dmitrievna
joini09
Ивлев1508