Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Borland C] Перевод из Pascal в Borland C, Перевод из Pascal в Borland C 
:(
    Опции темы
jack7
  Дата 2.5.2010, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.5.2010

Репутация: нет
Всего: нет



Помогите пожалуйста перевести программы с Pascal на   Borland C, с Borland C ни разу не работал. 
Заранее спасибо!

Код

program kr2;
uses
    crt;
const
    MAX = 21;                 {размер массива}
type
    Tvect = array[1..MAX] of real;
    {имя массива  тип индекса  тип элемента}
{-----------------------------------------------------------}
{poisk indeksa minimalnogo elementa}
function seekIndexMin(pvect : Tvect; n : integer) : integer;
{Эта функция ищет мин. индекс в массиве pvect размерностью n}

var
    i, imin : integer;
begin
    imin := 1;
    for i := 2 to n do
        if(pvect[i] < pvect[imin]) then       {находим меньший индекс}
            imin := i;                    {<--выполняется один оператор т.к. в теле цикла нет begin и end}
    seekIndexMin := imin;
end;
{-----------------------------------------------------------}
{raschet srednego arifmeticheskogo}
function aver(pvect : Tvect; n : integer) : real;      {функция aver расчитывает среднее арифметическое в массиве pvect размерностью n}
var
    i : integer;
    s : real;
begin
    s := 0;
    for i := 1 to n do
        s := s + pvect[i];     {складывем элементы и делим на кол-во элеметов}  {<--выполняется 1 оперетор т.к. в теле цикла нет begin и end}
    aver := s / n;
end;
{-----------------------------------------------------------}
{vstavka srednego arif posle min}
procedure insertAverAfterMin(var pvect : Tvect; var n : integer; paver : real; pimin : integer);
{эта процедура вставляет среднее рифметическое после мин. элемента в массиве pvect размерностью n, paver число}
var
    i : integer;
begin
    for i := n + 1 downto pimin + 2 do    {начинаем с конца т.к. downto n+1 делаем отступ для среднего арифметического}
        pvect[i] := pvect[i - 1];       {<--выполняется 1 оперетор т.к. в теле цикла нет begin и end}
    pvect[pimin + 1] := paver;
    inc(n, 1);          {освобождение места размером в 1 индекс}
end;
{-----------------------------------------------------------}
{pechat massiva na ekrane}
procedure printVect(pvect : Tvect; n : integer);         {печатаем массив pvect размерностью n}
var
    i : integer;
begin
    writeln;
    write('Массив имеет вид: ');
    for i := 1 to n do                                                   {<--выполняется 1 оперетор т.к. в теле цикла нет begin и end}
        write(pvect[i]:5:0);     {вывод массива pvect[i] на экран}
    writeln;
end;
{-----------------------------------------------------------}
{Основная программа}
var
    pvect : Tvect;
    n, i : integer;
begin
    clrscr;
    write('Введите кол-во элементов массива ');
    readln(n);                                    {Ввод кол-ва элементов}
    for i := 1 to n do
    begin
    writeln('Введите массив:');
    Readln(pvect[i]);                                {Ввод массива}
    end;
    printVect(pvect, n);

    insertAverAfterMin(pvect, n, aver(pvect, n), seekIndexMin(pvect, n));
    printVect(pvect, n);
    readkey;

end.





и вот вторая 

Код

Program lr15_6;
Type konf=record              {Описание переменной}
nazvan:string[20];
ves,kolvo,veskor:integer;
end;
var N,i,min,ves,kolvo,s,imin,m:integer;
    x:array[1..20] of konf;
    begin
    Writeln('Сколько будет названий коробок: ');
    Readln(N);
    for i:=1 to N do
    begin
    writeln('Введите название коробки'); Readln(x[i].nazvan);
    writeln('Вес конфеты в коробке гр.'); Readln(x[i].ves);
    writeln('Количество конфет в коробке шт.'); Readln(x[i].kolvo);
    writeln;
    end;
    min:=32767;

    for i:=1 to n do                    {определение самой легкой}
 begin
 x[i].veskor:=x[i].kolvo*x[i].ves;     {умножаем вес конфеты и количество конфет в коробке, чтобы найти вес коробки}
 if x[i].veskor<min then
    min:=x[i].veskor;

  Writeln(x[i].nazvan,' ',x[i].veskor);
  writeln;

 end;
Writeln('Самые легкие коробки:  ');
for i:=1 to n do

 begin
  if x[i].veskor=min then

Writeln(x[i].nazvan,' ',x[i].veskor);


   end;
end.



PM MAIL   Вверх
Letov
Дата 4.5.2010, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 321
Регистрация: 22.2.2007
Где: Санкт-Петербург

Репутация: 4
Всего: 4



Вторая программа:

Код
#include <iostream.h>
struct konf
{
    char nazvan[20];
    int ves, kolvo, veskor;
};

void main(void)
{
    int N, ves, kolvo, s, imin, m;
    konf x[20];
    cout<<"Сколько будет названий коробок: "<<endl;
    cin>>N;
    for(int i = 0; i < N; i++)
    {
        cout<<"ВВедите название коробки "<<endl;
        cin>>x[i].nazvan;
        cout<<"Вес конфеты в коробке гр. "<<endl;
        cin>>x[i].ves;
        cout<<"Количество конфет в коробке шт. "<<endl;
        cin>>x[i].kolvo;
    };
    int min = 32767;
    for(i = 0; i < N; i++)
    {
        x[i].veskor = x[i].kolvo * x[i].ves;
        if(x[i].veskor < min)
            min = x[i].veskor;
            cout<<x[i].nazvan<<" "<<x[i].veskor<<endl<<endl;
    };
    cout<<"Самые легкие коробки: "<<endl;
    for(i = 0; i < N; i++)
    {
        if(x[i].veskor == min)
            cout<<x[i].nazvan<<" "<<x[i].veskor<<endl<<endl;
    };
}


Это сообщение отредактировал(а) Letov - 6.5.2010, 18:00


--------------------
Не бывает плохих языков программирования. Бывают плохие программисты...

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0609 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.