Войти

Показать полную графическую версию : Помогите перевести прогу с паскаля на Си


Lesha_dan
14-12-2011, 18:37
var n, t, i, j, s, p: integer;
begin
Readln(n, t);
i := 0;
while (i < n) do begin
p := i;
s := 0;
while (p mod 10 <> 0) and (p div 10 <> 1) do begin
s := s + (p mod 10);
p := p div 10;
end;
if (s * s = t) then Writeln(i);
inc(i);
end;

Readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.

Drongo
14-12-2011, 19:00
Паскаль плохо знаю, предложу так, знатоки поправят. Лучше напишите что выполняет программа
#include <iostream>
using namespace std;

int main(void)
{
int n, t, i, j, s, p;
cin >> n;
cin >> t;
i = 0;
while(i < n){
p = i;
s = 0;
while((p % 10 != 0) && (p / 10 != 1)){
s = s + p % 10;
p = p / 10;
}
if((s * s) == t)
Writeln(i); // Вот это не знаю как перевести
i++;
}
cin>>i;

return 0;
}

Hector
14-12-2011, 19:05
Writeln(i); // Вот это не знаю как перевести »
cout << i endl;

Lesha_dan
14-12-2011, 19:07
Вот такая задача: Даны натуральные числа n, t. Найти все натуральные числа, меньшие n, квадрат суммы цифр которых равен t.

Lesha_dan
14-12-2011, 19:23
Чё та у меня не робит

я начал переводить дальше не знаю как сделать *#include <stdio.h>
#include <conio.h>
#include <math.h>

int main (void)
{



int n, t, i=0, j, s=0, p;
printf("\t \t\t\t VEDITE n,t\n");
scanf ("%d%d", &n,&t);
for (i=1;i<n;i++)
{
p=i;
if ((p/10)!=0))&&((p%10)!=1))
s=s+(p/10);
p=p%10;

printf ("\n\n\n press any key: ") ;
_getch () ;
}

Lesha_dan
14-12-2011, 19:46
cout << i endl; »
MS VS на это материться

#include <stdio.h>
#include <conio.h>
#include <math.h>

int main(void)
{
int n, t, i=0, j, s=0, p=i;
scanf("%d%d",&n,&t);
while(i<n)
{
while(((p/10)!=0)&&((p%10)!=1))
{
s = s+(p % 10);
p = p/10;
}
if((s*s)==t);
printf ("%d\n",i);
i++;}
printf ("\n\n\n press any key: ") ;
_getch ();
}
Всё ровно не робит выдает 0 при любых значениях

Drongo
14-12-2011, 22:02
cout << i endl; »
cout << i << endl;Чё та у меня не робит »Мне ваше чёта по барабану, тебе перевели, остальное твои проблемы, ищи косяки в самом алгоритме. А если что-то не так, то вот Правила (http://forum.oszone.net/rules.html)
На форуме в тематических разделах крайне не рекомендуется намеренное искажение русского языка. Орфографическая грамотность вашего сообщения служит гарантией того, что его прочтут все заинтересованные участники. Проявите уважение к собеседнику - он не обязан искать смысл в безграмотном вопросе.К тому же, оформляйте свой код тегами в противном случае тема будет перенесена в Тест-форум (http://forum.oszone.net/forum-26.html)




© OSzone.net 2001-2012