Форум программистов, компьютерный форум CyberForum.ru

перевести с Паскаля на Visual C++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ сколько элементов в строкe меньше,болшье... http://www.cyberforum.ru/cpp-beginners/thread108162.html
нужно найти, сколько элементов в строкe меньше чем первий элемент строки и, сколько элементов больше чем последний элемент строки. //int *izm; //unsigned int **matrica; case 5: clrscr(); printf("\nmassiv: "); for(i=0;i<n;i++){ printf("\n%d stroka:",i); for(j=0;j<izm;j++){
C++ Подскажите в чем ошибка (С++) typedef struct { char name, mark; unsigned price, num; } Comp; Comp *list = NULL; int cnt = 0; int Add(Comp val) http://www.cyberforum.ru/cpp-beginners/thread108160.html
проверить, являетса ли заданное натуральное число n>1 простым C++
у меня есть алгоритм вывода простых чисел, как зделать так штоб можна было ввести число и выдать сообщение што оно просте или нет void sundaram(int n){ int *a = new int , i, j, k; memset(a, 0, sizeof(int) * n); for(i = 1; 3*i+1 < n; i++){ for(j = 1; (k = i+j+2*i*j) < n && j <= i; j++){ a = 1; } } for(i = 1; i < n; i++){
Массив символов в структуре C++
Подскажите, пожалуйста, как объявить структуру, в которой первый элемент - массив массивов символов (например: werrtyfg sdf sgfdh), второй и третий элементы - целочисленные массивы? Все массивы динамические. И как выделить для них память?
C++ Удаление элемента массива http://www.cyberforum.ru/cpp-beginners/thread108140.html
Здравствуйте. Необходимо удалить из массива А(20) первый отрицательный элемент,при этом ввод элементов массива необходимо осуществить с клавиатуры. Язык - С.
C++ Найти минимум среди сумм элементов диагонали матрицы, параллельных побочной диагонали Пожалуйста, помогите решить задачку Дана целочисленная прямоугольная матрица. определить: 1) колво строк, не содержащих ни одного четного элемента; 2) минимум среди сумм элементов диагонали, параллельных побочной диагонали. Заранее спасибо. подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.03.2010, 06:48     перевести с Паскаля на Visual C++
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
#incklude <iostream>
#include <fstream>
void fileread(std::ifstream &f, int &k; int *&a)
{
 if (a)
 {
  delete [] a;
  a=NULL;
 }
 f.open("input.txt");
 for (k=0; !eof(f); ++k);
 {
  a=(int *)reaaloc((void *)a,k+1);
  f>>a[k];
 }
}
int MaxPos (int *a; int k)
{
 int max,n,i;
 for (max=a[0], i=0, i<=k, ++i)
 { 
  if (a[i]>max)
  {
   max=a[i];
  }
 }
 for (i=0, n=0; i<=k;  ++i)
 {
  if (a[i]==max)
  {
   ++n;
  }
 }
 return n;
}
int mian ()
{
 std::ifstream f;
 int k;
 int *a=NULL;
 f.open('input.txt');
 fileread(f,k,a);
 cout<<MaxPos(a,k);
 return 0;
}
Где ты у себя увидел один проход? И нафига ты дважды открываешь родин файл ? Почему не закрываешь? Твоя задача и на пасе выглядит иначе:
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
program pos;
type
mas=array[1..100] of integer;
 
procedure fileread(var f:text; var k:integer; var a:mas);
begin
assign(f,'input.txt');
reset(f);
k:=0;
while not eof(f) do begin
inc(k);
read(f,a[k]);
end;
close(f);
end;
 
function MaxPos (a:mas; k:integer):integer;
var
max,n,i:integer;
begin
max:=-32768;
n:=0;
for i:=1 to k do
begin
if a[i]>max then
begin
max:=a[i];
n:=0;
end;
if a[i]=max then inc(n);
end;
MaxPos:=n;
end;
var
f:text;
k:integer;
a:mas;
 
begin
fileread(f,k,a);
writeln(MaxPos(a,k));
readln
end.
Тогда:
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
#incklude <iostream>
#include <fstream>
void fileread(std::ifstream &f, int &k; int *&a)
{
 if (a)
 {
  delete [] a;
  a=NULL;
 }
 f.open("input.txt");
 for (k=0; !eof(f); ++k);
 {
  a=(int *)reaaloc((void *)a,k+1);
  f>>a[k];
 }
}
int MaxPos (int *a; int k)
{
 int max,n,i;
 for (max=a[0], n=0, i=0, i<=k, ++i)
 { 
  if (a[i]>max)
  {
   max=a[i];
   n=0;
  }
  if (a[i]==max)
  {
   ++n;
  }
 }
 return n;
}
int mian ()
{
 std::ifstream f;
 int k;
 int *a=NULL;
 fileread(f,k,a);
 cout<<MaxPos(a,k);
 return 0;
}
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
#incklude <iostream>
#include <fstream>
void fileread(std::ifstream &f, int &k; int *&a)
{
 if (a)
 {
  delete [] a;
  a=NULL;
 }
 f.open("input.txt");
 for (k=0; !eof(f); ++k);
 {
  a=(int *)reaaloc((void *)a,k+1);
  f>>a[k];
 }
}
int MaxPos (int *a; int k)
{
 int max,n,i;
 for (max=a[0], i=0, i<=k, ++i)
 { 
  if (a[i]>max)
  {
   max=a[i];
  }
 }
 for (i=0, n=0; i<=k;  ++i)
 {
  if (a[i]==max)
  {
   ++n;
  }
 }
 return n;
}
int mian ()
{
 std::ifstream f;
 int k;
 int *a=NULL;
 f.open('input.txt');
 fileread(f,k,a);
 cout<<MaxPos(a,k);
 return 0;
}
Где ты у себя увидел один проход? И нафига ты дважды открываешь родин файл ? Почему не закрываешь? Твоя задача и на пасе выглядит иначе:
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
program pos;
type
mas=array[1..100] of integer;
 
procedure fileread(var f:text; var k:integer; var a:mas);
begin
assign(f,'input.txt');
reset(f);
k:=0;
while not eof(f) do begin
inc(k);
read(f,a[k]);
end;
close(f);
end;
 
function MaxPos (a:mas; k:integer):integer;
var
max,n,i:integer;
begin
max:=-32768;
n:=0;
for i:=1 to k do
begin
if a[i]>max then
begin
max:=a[i];
n:=0;
end;
if a[i]=max then inc(n);
end;
MaxPos:=n;
end;
var
f:text;
k:integer;
a:mas;
 
begin
fileread(f,k,a);
writeln(MaxPos(a,k));
readln
end.
Тогда:
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
#incklude <iostream>
#include <fstream>
void fileread(std::ifstream &f, int &k; int *&a)
{
 if (a)
 {
  delete [] a;
  a=NULL;
 }
 f.open("input.txt");
 for (k=0; !eof(f); ++k);
 {
  a=(int *)reaaloc((void *)a,k+1);
  f>>a[k];
 }
 f.close();
}
int MaxPos (int *a; int k)
{
 int max,n,i;
 for (max=a[0], n=0, i=0, i<=k, ++i)
 { 
  if (a[i]>max)
  {
   max=a[i];
   n=0;
  }
  if (a[i]==max)
  {
   ++n;
  }
 }
 return n;
}
int mian ()
{
 std::ifstream f;
 int k;
 int *a=NULL;
 fileread(f,k,a);
 cout<<MaxPos(a,k);
 return 0;
}
В следющий раз буду перводить только после того, как сам исправишь исходник.
 
Текущее время: 09:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru