Адекватная версия:
PascalABC.NET
begin
var expr := Readstring();
expr.Split(' ')[0].Println;
end.
Версия "Нас так учили"
var
expression: string;
s_index: byte;
s_index := 1;
readln(expression);
while expression[s_index] <> ' ' do begin
write(expression[s_index]);
s_index := s_index + 1;
end;
Объяснение:
Т.к по условию слово - последовательность непробельных символов, ограниченная пробелами или концами строки, то данная программа полностью игнорирует пунктуацию и считает любой символ частью того слова, с которым он не разделён пробелом.
Использовал массив структур.
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
setlocale(LC_ALL,"russian");
float vesSum=0;
struct perevozka
int number;
string nazn;
string name;
float ves;
};
perevozka e[10] = {};
for(int i = 0; i<10; i++)
int a = 0;
string b, c;
float d = 0;
cout << "Введите номер перевозки, пункт назначения, наименование и вес для перевозки № ¹" << i+1 << endl;
cin >> a;
cin.ignore(32767, '\n');
getline(cin, b);
getline(cin, c);
cin >> d;
e[i]= { a, b, c, d };
}
vesSum=vesSum+e[i].ves;
cout << "Суммарный вес: " << vesSum << " КГ";
system("pause");
return 0;
Ниже скриншот работы программы
Адекватная версия:
PascalABC.NET
begin
var expr := Readstring();
expr.Split(' ')[0].Println;
end.
Версия "Нас так учили"
var
expression: string;
s_index: byte;
begin
s_index := 1;
readln(expression);
while expression[s_index] <> ' ' do begin
write(expression[s_index]);
s_index := s_index + 1;
end;
end.
Объяснение:
Т.к по условию слово - последовательность непробельных символов, ограниченная пробелами или концами строки, то данная программа полностью игнорирует пунктуацию и считает любой символ частью того слова, с которым он не разделён пробелом.
Использовал массив структур.
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
setlocale(LC_ALL,"russian");
float vesSum=0;
struct perevozka
{
int number;
string nazn;
string name;
float ves;
};
perevozka e[10] = {};
for(int i = 0; i<10; i++)
{
int a = 0;
string b, c;
float d = 0;
cout << "Введите номер перевозки, пункт назначения, наименование и вес для перевозки № ¹" << i+1 << endl;
cin >> a;
cin.ignore(32767, '\n');
getline(cin, b);
getline(cin, c);
cin >> d;
cin.ignore(32767, '\n');
e[i]= { a, b, c, d };
}
for(int i = 0; i<10; i++)
{
vesSum=vesSum+e[i].ves;
}
cout << "Суммарный вес: " << vesSum << " КГ";
system("pause");
return 0;
}
Ниже скриншот работы программы