Привет, я тестировал на VS 2017, но разницы нет, я тебя уверяю (по крайней мере в данном случае).
Кратко об моём решении. Запускаю цикл и считываю символ в переменную, если это точка, добавляю к счётчику +1, если доллар - цикл прекращается.
Мой вариант решения:#include <iostream>
using namespace std;
int main()
{
char symbol;
int counter = 0;
do
{
cout << "Enter symbol -> ";
cin >> symbol;
if (symbol == '.') counter++;
} while (symbol != '$');
cout << "Dot's counter " << counter << endl;
cin.get();
cin.get();
}
C++ GNU. Простое заполнение массива, а потом в цикле проверки.
В конце выводим результаты.
Мой вариант решения:#include <iostream>
using namespace std;
int main()
{
const int size = 20;
int arr[size];
for (int i = 0; i < size; ++i)
{
cout << "Enter " << i << " element -> ";
cin >> arr[i];
}
int AllSum = 0;
int EvSum = 0;
int OddSum = 0;
int EvCounter = 0;
int OddCounter = 0;
int SmallThenZero = 0;
for (int i = 0; i < size; ++i)
{
AllSum += arr[i];
if (arr[i] < 0) SmallThenZero++;
if (arr[i] % 2 == 0)
{
EvCounter++;
EvSum += arr[i];
}
else
{
OddCounter++;
OddSum += arr[i];
}
}
cout << "Even numbers counter - " << EvCounter << endl;
cout << "Odd numbers counter - " << OddCounter << endl;
cout << "Even numbers sum - " << EvSum << endl;
cout << "Odd numbers sum - " << OddSum << endl;
cout << "All numbers sum - " << AllSum << endl;
cout << "Small then zero numbers - " << SmallThenZero << endl;
cin.get();
cin.get();
}
//Задача #1
begin
var a,b,c: integer;
write('Введите ваш возраст: '); readln(a);
write('Введите время, проведенное за компьютером (в минутах): '); readln(b);
if b<0 then else
case a of
6..8: c:=15;
9..11: c:=30;
12..15: c:=45;
16..17: c:=60;
else write('Вам ',(a<6)? 'меньше 6':'больше 17-ти',' лет'); exit;
end;
write((c-b>0)? 'Вам осталось находиться за компьютером '+(c-b).ToString+' минут':'Ваш сеанс закончился '+abs(c-b)+' минут назад');
end.
//Задача 2
var
a:integer;
b:real;
begin
var N: array [1..4] of (string,real);
N[1]:=('АИ-92',42.30);
N[2]:=('АИ-95',45.30);
N[3]:=('АИ-98',53.71);
writeln('В наличии имеется: ');
for var L:=1 to 3 do
println(L+') ',N[L].Item1,' ',N[L].Item2,' руб/л');
write('Введите номер марки бензина (1-3): ');readln(a);
if (a>=1) and (a<=3) then begin
writeln('Вы выбрали бензин ',N[a].Item1);
write('Введите количество литров: ');readln(b);
write((B<0)? 'Указано отрицательное количество литров':('Сумма вашей покупки: '+N[a].Item2*b+' рублей'))
end;
end.
//Задача 4
begin
var K:char;
var N: array ['A'..'D'] of real;
for var L:='A' to 'D' do
begin
write('Введите расстояние до города ',L,' (км): ');readln(N[L]);
end;
write('В какой из городов вы направляетесь? ');readln(K);
K:=K.ToUpper;
write('Вам понадобится ',(N[K]/100)*9,' литров бензина');
end.
Примечание:
У задачи №3 слишком мало вводных параметров