#include <iostream>
using namespace std;
int main()
{
char str[100]; //строка
int count=0; //счётчик букв
int index; //индекс нулевого символа строки
cout<<"Vvedi stroky"<<endl;
cin.getline(str, 100); //ввод строки
//ищем нулевой символ строки
for (int i=99; i>=0; i--) //просматриваем строку с конца
{
if (str==0)
{
index=i; //запоминаем его индекс
break; //выходим из цикла
}
}
//считаем количество букв в последнем слове
for (int i=index-1; i>=0; i--) //просматриваем строку с конца
{
if (str!=' ') //если символ не пробел
{
count++; //увеличиваем счётчик букв
}
else if(str==' ' && count>0) //так нахожу пробел перед последним словом :)
//получается, что все буквы посчитаны
{
cout<<"Kol-vo bukv: "<<count<<endl; //выводим кол-во букв
break; //выходим из цикла
}
}
return 0;
}
перевод с паскаля на С++
var
s:string;
i,k:integer;
begin
clrscr;
writeln('vvedi stroku');
readln(s);
i:os('.',s);
k:;
repeat
dec(i);
if s<>' ' then inc(k);
until (i<) or (s=' ');
writeln('k=',k);
readln;
end.
код.Просьба огромная.перевести на с++
P.S.дана строка. подсчитать сколько букв в послетнем её слове.
ну перевести с паскаля не получилось, но вот что сам придумал:
Без разницы как ввод с пробелами или просто 1 слово,даже 1 символ,всегда 47.
Цитата: Okite
не знаю .где промашка,но он выводит всегда 47 букв у меня.
Без разницы как ввод с пробелами или просто 1 слово,даже 1 символ,всегда 47.
Без разницы как ввод с пробелами или просто 1 слово,даже 1 символ,всегда 47.
а что ты пытаешься вывести? У меня вроде бы всё нормально работает:confused:
вот скрин.Всегда 47 символов насчитывает.Рус или англ яз без разницы.Скачал,тоже самое.47 символов.Мистика?или глюк =\
у меня так:
#include <iostream>
#include <vcl.h>
#pragma hdrstop
#include <conio>
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
//---------------------------------------------------------------------------
char S1[100];
cin.getline(S1, 100);
int i,sum;
sum = 0;
bool b = true;
for(i=strlen(S1)-1;i>=0;i--)
{
if (S1 == ' ') b = false;
if (b) {sum = sum + 1;}
}
std::cout << sum <<'\n';
getch ();
}
P.S. просьба модераторов переименовать тему,т.к значение поменялось :)