Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Viktoria20
1

Кто знает С++ и pascal...

05.05.2010, 16:54. Показов 1069. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Может ктото может переписать данную программу, написанную на С++ (коносоле) в Pascal?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#include<stdio.h>
#include<stdlib.h>
#include<locale>
 
int main()
{
 system("cls");
 int a[50],b[50],n,n1,i,l,comp=true;
 setlocale(LC_CTYPE,"rus");
 puts("'1.txt' - набор исходных простых чисел");
 puts("'2.txt' - набор исходных целых чисел");
 puts("'3.txt' - полученное число N");
 FILE *f;
 if ((f=fopen("1.txt","r"))==NULL) 
 {
  puts("файл '1.txt' не найден!");
  comp=false;
 }
 else
 {
  i=1;
  fseek(f,0,2);
  l=ftell(f);
  rewind(f);
  if (l!=0)
  {
   while (feof(f)==false)
   {
    fscanf(f,"%d",&a[i]);
    i++;
   }
   n=i-1;
   for (i=1; i<=n; i++) printf("%d ",a[i]);
   puts("");
  }
  else 
  {
   puts("файл '1.txt' пуст!");
   comp=false;
  } 
  fclose(f);
 }
 if ((f=fopen("2.txt","r"))==NULL) 
 {
  puts("файл '2.txt' не найден!");
  comp=false;
 }
 else 
 {
  i=1;
  fseek(f,0,2);
  l=ftell(f);
  rewind(f);
  if (l!=0)
  {
   while (feof(f)==false)
   {
    fscanf(f,"%d",&b[i]);
    i++;
   }
   n1=i-1;
   for (i=1; i<=n1; i++) printf("%d ",b[i]);
   puts("");
   if (n!=n1) 
   {
    puts("неверные данные!");
    comp=false;
   }
  }
  else 
  {
   puts("файл '2.txt' пуст!");
   comp=false;
  }
  fclose(f);
 }
 if (comp==true)
 {
  for (i=1; i<=n; i++) if (b[i]<0 || b[i]>=a[i]) comp=false;
 }
 if (comp==false) puts("неверные данные!");
 if (comp==true)
 {
  int rd,r1,r,i,j,k,rez=false;
  j=0;
  while (rez==false)
  {
   i=1;
   r=a[i]*j+b[i];
   if (n==1) 
   {
    rd=r;
    rez=true;
   }
   i++;
   k=0;
   int dop=true;
   while (i<=n && dop==true)
   {
    r1=a[i]*k+b[i];
    if (r1>r) dop=false;
    while (r1<r)
    {
     r1=a[i]*k+b[i];
     if (r1==r) 
     {
      i++;
      k=0;
     }
     else k++;
    }
   }
   if (i==n+1)
   {
    rez=true;
    rd=r;
   } 
   else j++;
  }
  printf("N=%d\n",rd);
  f=fopen("3.txt","w");
  for (i=1; i<=n; i++) 
  {
   printf("%d mod %d = %d\n",rd,a[i],b[i]);
  }
  puts("доказательство:");
  for (i=1; i<=n; i++)
  {
   printf("%d. %d div %d = %d\n",i,rd,a[i],rd/a[i]);
   printf("   %d * %d = %d\n",rd/a[i],a[i],rd/a[i]*a[i]);
   printf("   %d - %d = %d\n",rd,rd/a[i]*a[i],rd-rd/a[i]*a[i]);
  }
  fprintf(f,"%d",rd);
  fclose(f);
 }
}
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2010, 16:54
Ответы с готовыми решениями:

файлы, кто знает?
есть файл, есть программа программа берет данные из файла и выводит списком для вывода отведено...

кто знает как сделать
а то я даже незнаю как правильно сделать

Для тех кто знает и паскаль и с++
у меня есть программа на с, нужно её на паскаль переписать, просто с этим языком я мало знаком, а...

Где ошибка? Почему не работает? Кто знает? Умоляю выручайте
Задание 1,24 Вот код который я написала. Что не так? Program Tab_Function; const xn=2.0; ...

2
1856 / 1178 / 190
Регистрация: 27.03.2009
Сообщений: 4,558
05.05.2010, 18:06 2
Лучший ответ Сообщение было отмечено как решение

Решение

примерно так
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
program main;
uses crt;
var
 a,b:array[1..50] of integer;
 n,n1,i,l,rd,r1,r,j,k:integer;
 comp,rez,dop:boolean;
 f:file of integer;
begin
clrscr;
comp:=true;
rez:=false;
{ setlocale(LC_CTYPE,"rus"); вот только тут не помню как}
 writeln('1.txt - nabor ishodnih prostih chisel');
 writeln('2.txt - nabor ishodnih tselih chisel');
 writeln('3.txt - poluchenoe chislo N');
 assign(f,'1.txt');
 {$I-}
 reset(f);
 {$I+}
 if ioresult<>0 then
 begin
  writeln('fail 1.txt ne naiden!');
  comp:=false;
 end
 else
 begin
  i:=1;
  seek(f,0);
  l:=filepos(f);
{  rewind(f);}
  if l<>0 then
  begin
   while not eof(f) do
   begin
    read(f,a[i]);
    inc(i);
   end;
   n:=i-1;
   for i:=1 to n do write(a[i],' ');
   writeln;
  end
  else
  begin
   writeln('fail 1.txt pust!');
   comp:=false;
  end;
  close(f);
 end;
 assign(f,'2.txt');
 {$I-}
 reset(f);
 {$I+}
 if ioresult<>0 then
 begin
  writeln('fail 2.txt ne naiden!');
  comp:=false;
 end
 else
 begin
  i:=1;
  seek(f,0);
  l:=filepos(f);
{  rewind(f);}
  if l<>0 then
  begin
   while not eof(f) do
   begin
    read(f,b[i]);
        inc(i);
   end;
   n1:=i-1;
   for i:=1 to n1 do write(b[i],' ');
   writeln;
   if n<>n1 then
   begin
        writeln('nevernie dannie!');
        comp:=false;
   end;
  end
  else
  begin
   writeln('fail 2.txt pust!');
   comp:=false;
  end;
  close(f);
 end;
 if comp=true then
 begin
  for i:=1 to n do if (b[i]<0) or (b[i]>=a[i]) then comp:=false;
 end;
 if comp=false then writeln('nevernie dannie!');
 if comp=true then
 begin
  j:=0;
  while rez=false do
  begin
   i:=1;
   r:=a[i]*j+b[i];
   if n=1 then
   begin
        rd:=r;
        rez:=true;
   end;
   inc(i);
   k:=0;
   dop:=true;
   while (i<=n) and (dop=true) do
   begin
        r1:=a[i]*k+b[i];
        if r1>r then dop:=false;
    while r1<r do
    begin
     r1:=a[i]*k+b[i];
     if r1=r then
         begin
          inc(i);
          k:=0;
         end
         else inc(k);
    end;
   end;
   if i=n+1 then
   begin
    rez:=true;
        rd:=r;
   end
   else inc(j);
  end;
  writeln('N=',rd);
  assign(f,'3.txt');
  rewrite(f);
  for i:=1 to n do
  begin
   writeln(rd,' mod ',a[i],' = ',b[i]);
  end;
  writeln('dokazatelistvo:');
  for i:=1 to n do
  begin
   writeln(i,'. ',rd,' div ',a[i],' = ',rd/a[i]);
   writeln('   ',rd/a[i],' * ',a[i],' = ',rd/a[i]*a[i]);
   writeln('   ',rd,' - ',rd/a[i]*a[i],' = ',rd-rd/a[i]*a[i]);
  end;
  write(f,rd);
  close(f);
 end;
 readln
end.
1
Viktoria20
05.05.2010, 22:36 3
Спасибо огромное
05.05.2010, 22:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2010, 22:36
Помогаю со студенческими работами здесь

Паскаль , кто знает как составить уравнение в нём и сделать в электронном виде
пожалуйста сможет кто решить уравнение в паскале неделю бился не могу до сих пор , а сдавать уже по...

Нужен скриншот работы данной проги. Кто не знает, используйте Snagit 9. Сделал бы сам но не запускается нормально.
Turbo Pascal. Нужен скриншот работы данной проги. Кто не знает, используйте Snagit 9. Сделал бы сам...

Кто знает как решить?
На шахматной доске стоят три ферзя (ферзь бьет по вертикали, горизонтали и диагоналям). Найти те...

Кто знает ,как её сделать?
Скласти програму для введення трьох матриць розмірності , та вивести матрицю з найменшим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru