Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано в отдельной строке. Последовательность завершается числом 0, при считывании которого программа должна закончить свою работу и вывести количество членов последовательности (не считая завершающего числа 0). Числа, следующие за числом 0, считывать не нужно. Sample Input:
1
7
9
0
5
Sample Output:
3
Напишите программу. Тестируется через stdin → stdout
#include <iostream>
using namespace std;
int main()
{
//double size = 8;//необходима константа на целое число
const int size = 8;
//double arr[size] = { -5.7, 6.0, 2, 0, -4.7, 6, 8.1, -4, 0 }; //лишнее число. Должно быть 8
double arr[size] = { -5.7, 6.0, 2, 0, -4.7, 6, 8.1, -4 };
//int positive = 0; //в массиве тип double, будет потеря данных если использовать int
double positive = 0;
//for (int i = size; i >= 0; i++)//если идем с конца, то нужно начинать с size-1, т.к. нумерация в массиве с нуля и i--, т.к. идем с конца
for (int i = size - 1; i >= 0; i--)
{
if (arr[i] > 0)
{
positive = arr[i];
break;
}
}
//int negative = 0;//в массиве тип double, будет потеря данных если использовать int
double negative = 0;
for (int i = 0; i < size; i++)
{
if (arr[i] < 0)
{
negative = arr[i];
break;
}
}
cout << "Last positive number: " << positive << endl;
cout << "First negatine number: " << negative << endl;
return 0;
}
Объяснение:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
//создадим вектор и заполним случайными числами
vector<vector<pair<int, int>>> v(5, vector<pair<int, int>>(4));
for (auto& it1 : v) {
for (auto& it2 : it1) {
it2 = make_pair(rand()%6 + 1, rand()%6 + 1);
}
}
//а) по квартире определим кол. жильцов и у соседей
cout << "Input apartment number: ";
int n;
cin >> n;
if (n % 2) {
cout << "Apartment:" << v[(n % 30) / 2-1][(n - 1) / 10].first << endl;
cout << "Neighbor:" << v[(n % 30) / 2-1][(n - 1) / 10].second << endl;
}
else {
cout << "Apartment:" << v[(n % 30) / 2-1][(n - 1) / 10].second << endl;
cout << "Neighbor:" << v[(n % 30) / 2-1][(n - 1) / 10].first << endl;
}
//суммарное количество жильцов в каждом подъезде
vector<int> v2(4,0);
for (int i = 0; i < 5;i++) {
for (int j = 0; j < 4;j++) {
v2[j] += v[i][j].first;
v2[j] += v[i][j].second;
}
}
for (auto it : v2) cout << it<<endl;
//Номера квартир многодетных семей
cout << endl;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4; j++) {
if (v[i][j].first > 5) cout << j * 10 + (i + 1) * 2 - 1<<endl;
if (v[i][j].second > 5) cout << j * 10 + (i + 1) * 2 <<endl;
}
}
}
Объяснение: