Задача1
массив определи как array[];
чтобы посчитать, просто используй счетчик, но сначала инициализируй переменную, которая содержит ответ задачи:
int n;
array [n];
int answer;
for (i=0, i < n, i++)
{
if (array[i] == 2)
answer++;
}
std::cout<<answer;
Как то так
Задача2
array[n];
for (int i =1, i < n, i++)
{
if (array[0] >= array[i])
array[0] = array[i];
}
std::cout << array[0];
//Это было решение первого пункта
int first;
int last
bool positive;
while (positive == false )
{
for (int i = 0; i < n; i++)
{
if (array[i] > 0)
{
positive = true;
first = i;
array[i] = -1;
}
}
while (positive == false )
{
for (int i = 0, i < n, i++)
{
if (array[i] > 0)
{
positive = true;
last = i;
}
}
int summ
for (int i = first, i < last, i++)
{
summ += array[i];
}
std::cout<<summ; // ответ на 2 пункт
// ПРеобразую
newarray [n];
int a = 0;
for (int i = 0, i < n, i++)
{
if (array[i] == 0)
{
newarray[a] = array[i];
a++;
}
}
for (int i = 0, i < n, i++)
{
if (array[i] != 0)
{
newarray[a] = array[i];
a++;
}
}
std::cout<< newarray;
Поделитесь своими знаниями, ответьте на вопрос:
Петя играет в онлайн-игру, одной из особенностей игры является возможность собрать коллекцию уникальных карт с героями игры. Для того, чтобы получить карту, нужно зайти на специальную страницу. Петя заходил на эту страницу n раз в течение дня. Однако он заметил, что на этой странице не всегда появляется новая карта. Как выяснилось, новая карта появляется на странице через x секунд после того, как Петя забрал предыдущую карту. По данному числу x и списку моментов времени, когда Петя заходил на страницу, определите, сколько карт он смог собрать. Входные данные Первая строка содержит числа n и x (1≤n≤100, 1≤x≤86400 Следующие n строк содержат моменты времени, когда Петя заходил на страницу. Время задано в формате часы:минуты:секунды, часы, минуты и секунды заданы двумя цифрами. Все времена различны, отсортированы по возрастанию и относятся к одним суткам (от 00:00:00 до 23:59:59). Выходные данные Выведите одно число — число карт, которые собрал Петя за день. Пример входные данные 5 300 12:00:00 12:04:30 12:05:00 12:15:32 12:15:33 выходные данные найти ошибек вылает непраивльный ответ на 2 тесте вот мой код #include <bits/stdc++.h> using namespace std; int main () { long long n, m, i, j, x, k=0; cin»n»x; char z; long long a[n], b[n], c[n], h[n]; for(i=0; i<n; i++) { cin»a[i]»z»b[i]»z»c[i]; h[i]=0; h[i]=((a[i]*60)*60)+(b[i]*60)+c[i]; } i=0; j=0; while(i<n-1) { while(h[j]-h[i]<300 and j<n-1) {j++;} k++; i=j; } if(n==1) { cout«"1"; return 0; } cout«k; }
while { не конец последовательности (не известно от куда аффтар получает слова ) } do
begin
Slovo := { Получаем очередное слово последовательности };
if Length(Slovo) <= Length(Prime) then
begin
CopyPrime := Prime;
N := 1;
while (N <= Length(Slovo)) and (Pos(Slovo[N], CopyPrime) > 0 do
begin
Delete(CopyPrime, Pos(Slovo[N], CopyPrime), 1);
Inc(N);
end;
if N > Length(Slovo) then
{ Slovo можно получить из первого слова }
else
{ нельзя получить Slovo из первого слова }
end;
end;