Задать массив из 10 чисел с клавиатуры ,подсчитать произведение положительных элементов массива. ,!
133
356
Ответы на вопрос:
Uses crt; const n = 10; var a: array[1..n] of integer; i: integer; p: real; begin clrscr; p: =1; write('введите массив a(',n,'): '); for i: = 1 to n do begin read(a[i]); if a[i] > 0 then p: =p*a[i]; end; write('p = ',p); readln; end.
#include "stdafx.h" #include "malloc .h" #include < iostream> using namespace std; int _tmain(int argc, _tchar* argv[]) { // вводим исходные данные. int m ; int n; printf ("введите количество столбцов? m = "); cin > > m; printf ("введите количество строк? n = "); cin > > n; // создаем матрицу. int* pmatrix = (int*) malloc (m * n * sizeof (int)); // инициализируем другие переменные. int xmin = 0, // левая граница спирали xmax = m, // правая граница спирали (не включая ее, поэтому ниже будет использоваться xmax - 1) ymin = 0, // верхняя граница спирали ymax = n, // нижняя граница спирали (не включая ее, поэтому ниже будет использоваться ymax - 1) i = 0, // текущее число x, y; // расходный материал. // бесконечный цикл, пока не заполним матрицу. while (1) { // заполняем верхний ряд слева направо. for (x = xmin; x < xmax; x++) pmatrix[x + ymin * m] = i++; // заполнили весь верхний ряд. подвигаем вниз верхнюю границу. ymin ++; // если верхняя граница совпала с нижней, то заканчиваем цикл. if (ymin == ymax) break; // заполняем правый ряд сверху вниз. for (y = ymin; y < ymax; y++) pmatrix[xmax - 1 + y * m] = i++; // заполнили весь правый ряд. подвигаем налево правую границу. xmax --; // если правая граница совпала с левой, то заканчиваем цикл. if (xmax == xmin) break; // заполняем нижний ряд справа налево. for (x = xmax - 1; x > = xmin; pmatrix[x + (ymax - 1) * m] = i++; // заполнили весь нижний ряд. подвигаем вверх нижнюю границу. ymax --; // если верхняя граница совпала с нижней, то заканчиваем цикл. if (ymin == ymax) break; // заполняем левый ряд снизу вверх. for (y = ymax - 1; y > = ymin; pmatrix[xmin + y * m] = i++; // заполнили весь левый ряд. подвигаем направо левую границу. xmin ++; // если правая граница совпала с левой, то заканчиваем цикл. if (xmax == xmin) break; // если мы все еще здесь, значит идем на очередной виток спирали.. } // есть предположение, что спираль заполнена. напечатаем ее, посмотреть.. for (y = 0; y < n; y++) { // печатаем строку. for (x = 0; x < m; x++) printf ("i, ", pmatrix[x + y * m]); // переходим на другую строку. printf ("\r\n"); } // освобождаем память и выходим. free (pmatrix); pmatrix = 0; }
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
артем115110.01.2023 17:59
-
kulakov200317.05.2020 03:51
-
valera55513221.01.2023 17:05
-
настя14о22.05.2023 21:49
-
anast20039722.09.2021 20:01
-
anastasy717.11.2022 17:21
-
kucherenkolshaLexa07.05.2022 17:05
-
Kit150807.04.2022 18:41
-
irinalove211.11.2022 09:42
-
ilovemath77729.05.2021 16:36
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.