Если слова в предложении разделяются одним пробелом, то: var s:string; p,k:integer; begin writeln('Введите предложение:'); readln(s); s:=s+' '; k:=0; p:=pos(' ',s); while p<>0 do begin k:=k+1; delete(s,1,p); p:=pos(' ',s); end; writeln('k = ',k); end.
Пример: Введите предложение: Определить, сколько слов в данном предложении. k = 6
#include <iostream> #include <cstdio> #include <cmath> using namespace std; int main() { int a, b, c; cin>>a>>b>>c; if ((a + b < c) || (a + c < b) || (b + c < a)) { cout<<"Не треугольник"; return 0; } if ((a * a + b * b == c * c) || (a * a + c * c == b * b)|| (c * c + b * b == a * a)) { cout<<"Прямоугольный"; return 0; } if ((a * a + b * b > c * c) || (a * a + c * c > b * b)|| (c * c + b * b > a * a)) cout<<"Остроугольный"; else cout<<"Тупоугольный"; }
ответ на Ваш вопрос зависит от того, что Вы разрабатываете - Windows-приложение или консольное. В любом случае основная часть программы может быть, например, такой: var f: file of real; a,b,r:real; begin AssignFile(f,'myFile.dat'); Reset(f); Read(f,a); while not eof(f) do read(f,b); r:=a-b; //здесь нужно вывести r Close(f); end; Программа будет работать, если: 1. используется типизированный файл, который был создан ранее; 2. файл находится в той же папке, что и программа 3. если разрабатывается Windows-приложение, то приведенный текст должен быть внутри обработчика какого-либо события 4. для вывода результата на форму (в случае Windows-приложения) следует использовать какой-либо компонент из палитры (например, Label)
var s:string; p,k:integer;
begin
writeln('Введите предложение:');
readln(s);
s:=s+' ';
k:=0;
p:=pos(' ',s);
while p<>0 do
begin
k:=k+1;
delete(s,1,p);
p:=pos(' ',s);
end;
writeln('k = ',k);
end.
Пример:
Введите предложение:
Определить, сколько слов в данном предложении.
k = 6