Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Помогите перевести прогу с паскаля на Си (http://forum.oszone.net/showthread.php?t=222913)

Lesha_dan 14-12-2011 18:37 1815237

Помогите перевести прогу с паскаля на Си
 
Код:

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 1815244

Паскаль плохо знаю, предложу так, знатоки поправят. Лучше напишите что выполняет программа
Код:

#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 1815247

Цитата:

Цитата Drongo
Writeln(i); // Вот это не знаю как перевести »

cout << i endl;

Lesha_dan 14-12-2011 19:07 1815250

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

Lesha_dan 14-12-2011 19:23 1815255

Чё та у меня не робит

я начал переводить дальше не знаю как сделать *#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 1815272

Цитата:

Цитата Hector
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 1815367

Цитата:

Цитата Hector
cout << i endl; »

Код:

cout << i << endl;
Цитата:

Цитата Lesha_dan
Чё та у меня не робит »

Мне ваше чёта по барабану, тебе перевели, остальное твои проблемы, ищи косяки в самом алгоритме. А если что-то не так, то вот Правила
Цитата:

На форуме в тематических разделах крайне не рекомендуется намеренное искажение русского языка. Орфографическая грамотность вашего сообщения служит гарантией того, что его прочтут все заинтересованные участники. Проявите уважение к собеседнику - он не обязан искать смысл в безграмотном вопросе.
К тому же, оформляйте свой код тегами [code][/code] в противном случае тема будет перенесена в Тест-форум


Время: 15:16.

Время: 15:16.
© OSzone.net 2001-