Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2012, 11:42   #1
=IS=
Новичок
Джуниор
 
Регистрация: 06.03.2009
Сообщений: 1
Радость перевод в C++ из Pascal

Кому не сложно переведите пожалуйста программу в С++. Она готова и полностью рабочая.
вот на всякий случай сама задача:
Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащие главной диагонали, равны 0, а каждый элемент, не принадлежащий главной диагонали, равен 2, 1 или 0(числу очков, набранных в игре: 2- выигрыш, 1-ничья, 0-проигрыш). а)найти число команд,имеющих больше побед,чем поражений b)определить номера команд,прошедших чемпионат без поражений. c)выяснить,имеется ли хотя вы одна команда,выигравшая более половины игр.

Код:
program tablica;
uses crt;
const n=3;
var
A:array[1..n,1..n] of integer;
i,j,win,lose,draw,k,t: integer;
{---------------------------------------------------------------------------}
procedure input;
BEGIN
  for i:=1 to n do
  begin
    for j:=1 to n do
     begin
      write ('A[',i,',',j,']=');
      readln(A[i,j]);
     end;
  end;
END;
{---------------------------------------------------------------------------}
procedure varA;
BEGIN
win:=0; lose:=0; draw:=0; k:=0;t:=0;
  begin
  for i:=1 to n do
    begin
    for j:=1 to n do
     begin
      if A[i,j]=2 then win:=win+1;
      if A[i,j]=1 then draw:=draw+1;
      if ((i<>j) and  (A[i,j]=0)) then lose:=lose+1;
     end;
    if win>lose then k:=k+1;{uslovie varianta a}
    if win>(n/2) then t:=t+1;{uslovie varianta c}
    writeln('komanda',i,'=',win,'/',draw,'/',lose);{vivod rezultatov komandi}
    if lose=0 then writeln('u komandi',' ',i,' ','net porazhenii'); {uslovie i vivod varianta b}
    win:=0; lose:=0; draw:=0; writeln(' ');
    end;
  end;
if k>0 then writeln('kol-vo komand win>lose -',k)
       else writeln('net komand win>(lose)');
if t>0 then writeln('kol-vo komand win>(n/2) -',t)
       else writeln('net komand win>(n/2)');
END;
{----------------------------------------------------------------------------}
BEGIN
clrscr;
input;
varA;
readln;
END.
=IS= вне форума Ответить с цитированием
Старый 24.05.2012, 00:37   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
#include <iostream>
using namespace std;

#define N 3

int a[N][N];
int win,lose,draw,k,t;

void input()
{
for(int i=0;i<N;i++)
    for(int j=0;j<N;j++)
	{
		cout<<"A["<<i+1<<","<<j+1<<"]=";
		cin>>a[i][j];
		cout<<endl;
    }
}

void varA()
{
win=lose=draw=k=t=0;

	for(int i=0;i<N;i++)
	{
		for(int j=0;j<N;j++)
		{
			if (a[i][j]==2) win++;
			if (a[i][j]==1) draw++;
			if (i!=j && a[i][j]==0) lose++;
		}
		if (win>lose) k++;/*uslovie varianta a*/
		if (win>N/2) t++;/*{uslovie varianta c*/
		cout<<"komanda"<<i<<"="<<win<<"/"<<draw<<"/"<<lose<<endl;/*vivod rezultatov komandi*/
		if (lose==0) cout<<"u komandi "<<i<<" net porazhenii"<<endl; /*uslovie i vivod varianta b*/
		win=lose=draw=0; 
		cout<<" "<<endl;
	}
	if (k>0) 
		cout<<"kol-vo komand win>lose -"<<k<<endl;
    else
		cout<<"net komand win>(lose)"<<endl;
	if (t>0)
		cout<<"kol-vo komand win>(N/2) -"<<t<<endl;
    else
		cout<<"net komand win>(N/2)"<<endl;
}

int main()
{
	input();
	varA();
	getchar();
	return 0;
}
Протестируйте.
Поздравляю с первым сообщением за 3 года
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод с PasCal на Си bodya00728 Помощь студентам 0 16.05.2012 15:03
перевод с pascal на с++ Balthazar Помощь студентам 0 08.12.2010 18:50
перевод из Pascal в С++ edise Помощь студентам 0 13.11.2010 16:01
перевод из Pascal в C++ Valerik Общие вопросы C/C++ 5 22.04.2009 21:57
Перевод кода из Pascal в Object Pascal zemskov77 Общие вопросы Delphi 1 03.01.2009 09:37