HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 01.04.2009, 19:05
WeReWoLf777
Новичок
Регистрация: 23.03.2009
Сообщений: 11
С нами: 9018802

Репутация: 0
По умолчанию

большое спс
 
Ответить с цитированием

  #2  
Старый 01.04.2009, 19:11
Hammer94
Новичок
Регистрация: 21.12.2008
Сообщений: 4
С нами: 9150885

Репутация: 0
По умолчанию

Ребята срочно, помогите пожалуйста с задачкой, надо написать игру на C# как вот здесь(аналогичную) http://ifolder.ru/11376454

если что вот моя аська: 396052292

Последний раз редактировалось Hammer94; 01.04.2009 в 23:38..
 
Ответить с цитированием

Пмогите еще раз плиз.Перевести прогу с Паскаля на С++
  #3  
Старый 02.04.2009, 15:48
WeReWoLf777
Новичок
Регистрация: 23.03.2009
Сообщений: 11
С нами: 9018802

Репутация: 0
Question Пмогите еще раз плиз.Перевести прогу с Паскаля на С++

Помогите перевести прогу с паскаля в с++ (полностью)с коментами если можно.
Прога вот:
Код:
Uses CRT;
type
 real=extended;

const
  matrixA: array[1..3,1..3] of real  = ((-19/20,1/5,  3/5),
                                      (-1    ,0.1,  0.5),
                                      (-0.01 ,0  ,1/200));
  One: array [1..3,1..3] of real = ((1,0,0),
                                    (0,1,0),
                                    (0,0,1));
  U:array[1..3] of real = (1,1,1.1);

  var
   i,j,k,q:byte;
   A,At,A1,A2,Ar,One1:array[1..3,1..3] of real;
   delta,Det,S,alpha:real;
   B,Z,U1:array[1..3] of real;
   f:text;

   Procedure TransA;
    begin
     for i:=1 to 3 do
      for j:=1 to 3 do
         At[i,j]:=A[j,i]
    end;

   Function Koef(par1,par2:byte):real;
    var
     Sum:byte;
     Tmp:real;
      begin
       Sum:=par1+par2;
       Tmp:=1;
       for k:=1 to sum do
        Tmp:=Tmp*(-1);
       Koef:=Tmp;
      end;

   Function AlAdd(par1,par2:byte):real;
    type
     element=record
             value:real;
             flag:boolean;
             end;
    var
     BB:array[1..2,1..2] of real;
     AA:array[1..3,1..3] of element;
     k,v,w:byte;
     N:array[1..4] of real;
     P1:real;
    begin
     for v:=1 to 3 do
      for w:=1 to 3 do begin
       AA[v,w].value:=A2[v,w];
       AA[v,w].flag:=true
      end;
     for v:=1 to 3 do AA[par1,v].flag:=false;
     for v:=1 to 3 do AA[v,par2].flag:=false;
     { for v:=1 to 3 do begin
      for w:=1 to 3 do write(AA[i,j].value:2:3,' ');
      writeln
     end; }
     k:=1;
     for v:=1 to 3 do
      for w:=1 to 3 do
       begin
       if AA[v,w].flag then
        begin
         N[k]:=AA[v,w].value;
      {   writeln(N[k]);}
         k:=k+1
        end;
       end;
     BB[1,1]:=N[1];  BB[1,2]:=N[2];
     BB[2,1]:=N[3];  BB[2,2]:=N[4];
{     writeln('alg dop',par1,par2,' ',BB[1,1]*BB[2,2]-BB[1,2]*BB[2,1]);}
     AlAdd:=BB[1,1]*BB[2,2]-BB[1,2]*BB[2,1];
    end;

    Function DetCount:real;
     var
       S1:real;
       z:byte;
     begin
      S1:=0;
      for z:=1 to 3 do S1:=S1+A2[1,z]*Koef(1,z)*AlAdd(1,z);
      DetCount:=S1;
     end;

    Procedure RevMatr;
     begin
       for i:=1 to 3 do
        for j:=1 to 3 do
         Ar[j,i]:=Koef(i,j)*AlAdd(i,j)/DetCount;
{       for i:=1 to 3 do begin
        for j:=1 to 3 do write(Ar[i,j],' ');
        writeln;
       end;}
     end;

     Function AllRight:boolean;
      begin
       writeln(f,'*Ґўп§Є  Ї® 1-¬г н«-вг',(abs(U[1]-U1[1])));
       writeln(f,'*Ґўп§Є  Ї® 2-¬г н«-вг',(abs(U[2]-U1[2])));
       writeln(f,'*Ґўп§Є  Ї® 3-¬г н«-вг',(abs(U[3]-U1[3])));
       writeln(F);
       if (abs(U[1]-U1[1])<0.001) and (abs(U[2]-U1[2])<0.001) and
          (abs(U[3]-U1[3])<0.001) then AllRight:=true
          else AllRight:=false
      end;

     Function Pow(par1:real;par2:byte):real;
      var
       S2:real;
       z:byte;
      begin
       S2:=1;
       if par2=0 then begin
        Pow:=1;
        exit
       end
         else
           for z:=1 to par2 do S2:=S2*par1;
       Pow:=S2;
      end;

      BEGIN
       clrscr;
       Assign(f,'c:\tikh.txt');
       Rewrite(f);
       for i:=1 to 3 do
        for j:=1 to 3 do
         A[i,j]:=matrixA[i,j];
       TransA;
       Det:=0.000125;
       {----------------------------}
       for i:=1 to 3 do begin
        S:=0;
        for j:=1 to 3 do begin
          S:=S+At[i,j]*U[j];
          B[i]:=S
         end;
       end;
       {----------------------------}
       for i:=1 to 3 do
        for j:=1 to 3 do
         begin
          S:=0;
           for k:=1 to 3 do begin
            S:=S+At[i,k]*A[k,j];
            A1[i,j]:=S
           end
         end;
       {-----------------------------}
       q:=1;
      repeat
       alpha:=q/pow(4,q);
       for i:=1 to 3 do
        for j:=1 to 3 do
         One1[i,j]:=One[i,j]*alpha;
       for i:=1 to 3 do
        for j:=1 to 3 do
         A2[i,j]:=One1[i,j]+A1[i,j];
       RevMatr;
       {------------------------------}
       for i:=1 to 3 do begin
        S:=0;
        for j:=1 to 3 do begin
          S:=S+Ar[i,j]*B[j];
          Z[i]:=S
         end;
       end;
       for i:=1 to 3 do begin
        S:=0;
         for j:=1 to 3 do begin
          S:=S+A[i,j]*Z[j];
          U1[i]:=S
         end
       end;
       q:=q+1;
       until AllRight;
       {------------------------------}
       clrscr;
       writeln('ЏаЁЎ«Ё¦Ґ*ЁҐ Є *®а¬ «м*®¬г аҐиҐ*Ёо');
       for i:=1 to 3 do writeln('Z(',i,')=',z[i]);
       writeln;
       writeln('‡* зҐ*ЁҐ Їа ў®© з бвЁ ЇаЁ Ї®¤бв *®ўЄҐ ЇаЁЎ«. аҐиҐ*Ёп');
       for i:=1 to 3 do writeln('U1(',i,')=',U1[i]);
       writeln;
       writeln('‡* зҐ*ЁҐ Ї а ¬Ґва  аҐЈг«паЁ§ жЁЁ:');
       writeln(alpha);
       Close(f);
       readln;
      END.
сама задача и решение тут:http://letitbit.net/download/fedbf28...-----.doc.html
 
Ответить с цитированием

  #4  
Старый 03.04.2009, 14:18
Danke
Новичок
Регистрация: 28.03.2009
Сообщений: 1
С нами: 9011344

Репутация: 0
По умолчанию

Спасибо большое

Последний раз редактировалось Danke; 03.04.2009 в 15:37..
 
Ответить с цитированием

  #5  
Старый 03.04.2009, 14:41
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
С нами: 9017461

Репутация: 414


По умолчанию

Код:
 
   cur_lvl, new_lvl: integer;
    skills, abilitys: integer;
    
        cur_lvl := StrToInt(Edit1.Text);
        new_lvl := StrToInt(Edit2.Text);        
        abilitys := (cur_lvl - new_lvl) * -1;
        skills  := abilitys * 8;
Думаю разберешся))
 
Ответить с цитированием

  #6  
Старый 03.04.2009, 15:29
Ne2pI
Новичок
Регистрация: 13.03.2009
Сообщений: 4
С нами: 9033519

Репутация: 0
По умолчанию

Помогите пожалуйста!

- Дано число К и массив размером N. Найти два различный элемента массива сумма которых наиболее близка к числу К и вывестит эти элементы в порядке возрастания их индексов

- Дан целочисленный массив размером N. Увеличить все четные числа содержащиеся в массиве на исходное значение первого четного числа.

- Дан массив A, размером N и целое число k(1<=k<=4, k<N) осуществить циклический сдвиг элементов массива влево на k позиций при этом An перейдет в An-k; An-1 ->An-k-1; A1->An-k-1
Допускается использовать вспомогательный массив из 4 элементов.

Зарание буду очень благодарен!
 
Ответить с цитированием

  #7  
Старый 05.04.2009, 12:30
Irdis
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
С нами: 10661593

Репутация: 88
По умолчанию

Цитата:
- Дан массив A, размером N и целое число k(1<=k<=4, k<N) осуществить циклический сдвиг элементов массива влево на k позиций при этом An перейдет в An-k; An-1 ->An-k-1; A1->An-k-1
Допускается использовать вспомогательный массив из 4 элементов.
#include <iostream>
using namespace std;
int main()
{
int n,temp;
int* a;
cin>>n;
a=new int [n];
for (int i=0;i<n;i++)
cin>>a[i];
cin>>k;
for (int i=0;i<k;i++)
for (int j=0;j<(n-1);j++)
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
};
for (int i=0;i<n;i++)
cout<<a[i]<<" ";
return 0;
};
 
Ответить с цитированием

  #8  
Старый 04.04.2009, 12:48
fker
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
С нами: 9187097

Репутация: 158
По умолчанию

2 ne2pi
>>- Дан целочисленный массив размером N. Увеличить все четные числа содержащиеся в массиве на исходное значение первого четного числа
Код:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
clrscr();
randomize();
int arr[100],n,f_ch;
printf("Size of array : ");
scanf("%d",&n);
//заполнение массива случ числами, вывод
printf("UcxogHbli MaccuB: \n");
for(int i=0; i<n; i++){
   arr[i]=rand()%10;
   printf("%d ",arr[i]);
   }
for(i=0; i<n; i++){
   if(arr[i]%2==0&&arr[i]!=0){   //поиск 1-ого четного
      f_ch=arr[i];
      printf("\n1 4eTHbli element - %d\n",f_ch);
      for( ; i<n; i++)//увелич всех четных чисел
         if(arr[i]%2==0)
            arr[i]+=f_ch;
      }
    }
//вывод результата
for(i=0; i<n; i++)
   printf("%d ",arr[i]);
getch();
}
 
Ответить с цитированием

  #9  
Старый 04.04.2009, 13:47
Ne2pI
Новичок
Регистрация: 13.03.2009
Сообщений: 4
С нами: 9033519

Репутация: 0
По умолчанию

спасибо большое а 2 других можешь сделать?!
 
Ответить с цитированием

  #10  
Старый 04.04.2009, 19:49
sebay
Познающий
Регистрация: 09.03.2009
Сообщений: 43
С нами: 9039367

Репутация: 53
По умолчанию

Кто может перепишите пожалуйста программу без структур а массивами
Код:
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <math.h>
#include <stdlib.h>

// объявим структуру "точка"
struct Scoord
{
 double x;
 double y;
};
//------------------

int main()
{
const int N = 10;   // количество точек
const double LMAX=-10, RMAX=10;  // левая и правая границы для генерации координат
const double TMAX=-10, BMAX=10;  // верхняя и нижняя

Scoord mas[N];  // массив точек
int i,j,K;
double S,Smin;
srand(time(NULL));

for(i=0;i<N;i++)
 {
  //  разбрасываем точки
  mas[i].x = rand()*(RMAX-LMAX)/(double)RAND_MAX+LMAX;
  mas[i].y = rand()*(BMAX-TMAX)/(double)RAND_MAX+TMAX;
  printf("To4ka %d: %5.3lf  %5.3lf\n",i,mas[i].x,mas[i].y);
 }
printf("\n"); 
//==================

K = 0; // считаем, что вершина K - то, что нам нужно
Smin = -1;
for(i=0;i<N;i++)   // перебираем все возможные "корни куста"
 {
  S = 0; // изначально сумма равна 0
  for(j=0;j<N;j++)  // перебираем вершины куста
   {
    if(j==i) continue;  // если текущая вершина - корень, пропускаем
    S += pow( pow(mas[j].x-mas[i].x,2) + pow(mas[j].y-mas[i].y,2),0.5);    
   }
  if(Smin==-1)  // если мы еще пока ничего не запомнили...
   {
    Smin = S;  // то запоминаем эту сумму
    K = i;    // и номер вершины-корня
   }
  else
   {
    if(S<Smin)  // иначе, если текущая сумма меньше
     {
      Smin = S;  // запоминаем ее
      K = i;
     }
   } 
 }
//=======
printf("Vershina kusta: %5.3lf %5.3lf\n", mas[K].x,mas[K].y);
printf("Summa reber = %5.3lf\n", Smin);
//---------
getch();
return 0;
}
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.