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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2013, 14:12   #1
zxzxz
Пользователь
 
Регистрация: 15.03.2013
Сообщений: 21
По умолчанию из паскаля в си

помогите пожалуйста в C переделать
Код:
program ex;
uses crt;
const n=3;
const m=5;
var A:array [1..n,1..m] of integer;
var i,j,t,ch: integer;
var f:text;
var filename: string [200];
procedure printarray;
var i,j: integer;
begin
for i:=1 to n do
begin
for j:=1 to m do write(A[i,j]:5);
writeln;
end;
end;
procedure printsum;
var i,j,sum: integer;
begin
sum:=0;
for i:=1 to n do
for j:=1 to m do sum:=sum+A[i,j];
write ('сумма=: ');writeln(sum);
end;
begin
writeln('имя файла');
readln(filename);
assign(f,filename);
reset(f);
for i:=1 to n do
begin
for j:=1 to m do
begin
read (f,A[i,j]);
end;
writeln;
end;
close (f);
ch:=0;
while (ch<>3) do
begin
writeln ('1-вывод из массива, 2-сумма элементов, 3-выход.выбор:');
readln(ch);
if (ch=1) then printarray;
if (ch=2) then printsum;
end;
end.
zxzxz вне форума Ответить с цитированием
Старый 21.03.2013, 14:20   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Давай договоримся - ты сначала в паскале в нормальный удобочитаемый вид переделаешь, а потом уже я тебе в С переделаю. Ок?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 21.03.2013, 14:32   #3
ччч1
Пользователь
 
Регистрация: 13.03.2013
Сообщений: 35
По умолчанию

В смысле удобочитаемый?

Последний раз редактировалось ччч1; 21.03.2013 в 14:35.
ччч1 вне форума Ответить с цитированием
Старый 21.03.2013, 14:38   #4
zxzxz
Пользователь
 
Регистрация: 15.03.2013
Сообщений: 21
По умолчанию

А Почему так не правильно?Как учили так и сделала
zxzxz вне форума Ответить с цитированием
Старый 21.03.2013, 14:39   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
А Почему так не правильно?Как учили так и сделала
Структурируй через отступы.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 21.03.2013, 14:48   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

помогу топикстартеру..
вот форматированный код на Паскаль
Код:
program ex;
uses crt;
const n = 3;
const m = 5;
var 
  A: array[1..n, 1..m] of integer;
  i, j, t, ch: integer;
  f: text;
  filename: string[200];

procedure printarray;
var i, j: integer;
begin
  for i := 1 to n do
  begin
    for j := 1 to m do write(A[i, j]: 5);
    writeln;
  end;
end;

procedure printsum;
var i, j, sum: integer;
begin
  sum := 0;
  for i := 1 to n do
    for j := 1 to m do sum := sum + A[i, j];
  write('сумма=: '); writeln(sum);
end;

begin
  writeln('имя файла');
  readln(filename);
  assign(f, filename);
  reset(f);
  for i := 1 to n do
  begin
    for j := 1 to m do
    begin
      read(f, A[i, j]);
    end;
    writeln;
  end;
  close(f);
  ch := 0;
  while (ch <> 3) do
  begin
    writeln('1-вывод из массива, 2-сумма элементов, 3-выход.выбор:');
    readln(ch);
    if (ch = 1) then printarray;
    if (ch = 2) then printsum;
  end;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.03.2013, 14:52   #7
zxzxz
Пользователь
 
Регистрация: 15.03.2013
Сообщений: 21
По умолчанию

А поняла Как с отступами..спасибо
zxzxz вне форума Ответить с цитированием
Старый 21.03.2013, 19:18   #8
zxzxz
Пользователь
 
Регистрация: 15.03.2013
Сообщений: 21
По умолчанию

помогите мне с си пожалуйста
zxzxz вне форума Ответить с цитированием
Старый 21.03.2013, 20:10   #9
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
помогите мне с си пожалуйста
но если тока пожалсто... Но ниже решение на С++, на Си кто-нибудь другой переправит может быть.
Код:
#include <iostream>
#include <fstream>

void printarray(int **a, const int n, const int m);
void printsum(int **a, const int n, const int m);

int main() {
  const int n = 3, m = 5;
  int **a;
  int i, j, t;
  char ch;
  std::ifstream ifst;
  char fname[255];
  
  std::cout << "filename: ";
  std::cin >> fname;
  ifst.open(fname);
  
  if (0 == ifst) {
    std::cout << "can't open file\n";
    return -1;
  }
  
  a = new int*[n];
  for (int i = 0; i < n; ++i)
    a[i] = new int[m];
  
  for (int i = 0; i < n; ++i) 
    for (int j = 0; j < m; ++j)
      ifst >> a[i][j];
  ifst.close();
  
  while (true) {
    std::cout << "\t1 - out arr\n\t2 - out sum\n\t3 - exit\n: ";
    std::cin >> ch;
 
    if ('3' == ch)
      break;
    
    switch (ch) {
      case '1': printarray(a, n, m); break;
      case '2': printsum(a, n, m); break;
      default: std::cout << "input error" << std::endl;
    }
  }
  
  for (int i = 0; i < n; ++i)
    delete []a[i];
  delete []a;
}

void printarray(int **a, const int n, const int m) {
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < m; ++j) 
      std::cout << a[i][j];
    std::cout << std::endl;
  }
}

void printsum(int **a, const int n, const int m) {
  int sum = 0;
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < m; ++j) 
      sum += a[i][j];
  std::cout << "sum: " << sum << std::endl;
}
rrrFer вне форума Ответить с цитированием
Старый 21.03.2013, 21:53   #10
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Вот же ж... а я только в инет вылез, весь вечер добраться не мог... Теперь получается, что я того... наобещал и не сделал.

Беда.

rrrFer, спасибо, сделал мою работу.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из паскаля в C++ Miles Общие вопросы C/C++ 1 22.05.2012 09:50
Из паскаля в С++ Slake Visual C++ 0 25.12.2011 14:35
Из паскаля в С++ Defender42 Помощь студентам 9 05.04.2011 16:37
С Паскаля на Си++ Svetlanka_ya Помощь студентам 0 16.05.2010 12:17
С паскаля на c++ Sparky Помощь студентам 1 09.03.2010 16:56