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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ сколько элементов в строкe меньше,болшье... http://www.cyberforum.ru/cpp-beginners/thread108162.html
нужно найти, сколько элементов в строкe меньше чем первий элемент строки и, сколько элементов больше чем последний элемент строки. //int *izm; //unsigned int **matrica; case 5: clrscr();...
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
Проверить, является ли заданное натуральное число простым C++
у меня есть алгоритм вывода простых чисел, как зделать так штоб можна было ввести число и выдать сообщение што оно просте или нет void sundaram(int n){ int *a = new int , i, j, k; ...
Массив символов в структуре C++
Подскажите, пожалуйста, как объявить структуру, в которой первый элемент - массив массивов символов (например: werrtyfg sdf sgfdh), второй и третий элементы - целочисленные...
C++ Удаление элемента массива http://www.cyberforum.ru/cpp-beginners/thread108140.html
Здравствуйте. Необходимо удалить из массива А(20) первый отрицательный элемент,при этом ввод элементов массива необходимо осуществить с клавиатуры. Язык - С.
C++ Побитовый сдвиг массива Есть двумерный массив int massiv;Нужно сдвинуть первый элемент массива в конец, а все остальные соответственно вперед. В цикле это можно сделать так int temp0=0; int temp1=0; int n=0; for(int... подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.03.2010, 06:48
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;
}
В следющий раз буду перводить только после того, как сам исправишь исходник.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru