|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Перевод с Pascal на C++ |
|
|
C/C++ - Перевод с Pascal на C++
|
Старожил Сообщения: 175 |
Профиль | Отправить PM | Цитировать Всем привет.начал переводить прогу с паскаля на си и вот такая вот проблемка встала.нужно перевести вот эту процедуру
Procedure Print (n:byte; a:longint); Begin {вывод числа a} Write(' ':n); Write(a); End; а как задать размерность поля вывода пробелов(выделено жирным) на си я не знаю.переведите пожалуйста эту процедурку.буду очень благодарен |
|
Отправлено: 16:23, 28-03-2009 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать 2 варианта:
long n = 100; double f=100.2345; // C printf("%10ld", n); printf("%10.2lf", f); // целые + дробные // C++ cout.width(10); cout << n; cout.width(13); // общая длина поля cout.precision(2); cout << f; Если надо вывести число, в поле из (итого) N символов, то нужно установить флаг width(N), который действует только на один operator<<, а затем сбрасывается в N=0 (то есть выведется столько, сколько минимум необходимо). Заполнение будет происходить символом, указанным в fill(), по умолчанию пробел. Пример: |
Последний раз редактировалось pva, 28-03-2009 в 21:10. Отправлено: 20:48, 28-03-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать спс)).тему можно закрывать
|
Отправлено: 03:31, 29-03-2009 | #3 |
GEEK Сообщения: 729
|
Профиль | Сайт | Отправить PM | Цитировать Помогите пожалуйста перевести задачи с Pascal'я на C++
1. Вычислить A и B 2. Является ли введенное 4-значное число палидромом? 3. Определить сумму введенных цифр 4. Вычислить сумму чисел введенных до последнего отрицательного 5. Определить число пар соседних элементов массива имеющих одинаковый знак Заранее огромнейшее спасибо! |
------- Отправлено: 16:37, 12-06-2009 | #4 |
Старожил Сообщения: 463
|
Профиль | Отправить PM | Цитировать Первое как то так:
#include <stdio.h> #include <math.h> int main(int argc, char* argv[]) { const float pi=3.14; float x=pi/7; float y=3.017; float z=-2.69; float x1=exp(log(sin(x))*2); float x2=2*exp(log(x1)/3); float x3=0.001*y*1.5; float x4=x2-x3; float x5=2*x/2.7; float x6=1.0/3.0+x5; float a=x4/x6; float y1=z*z/5; float y2=x-y1; float b=y2+1.0/3.0+x5; printf("A= %.3f\n",a); printf("B= %.3f\n",b); getchar(); return 0; } |
|
Отправлено: 20:54, 12-06-2009 | #5 |
Старожил Сообщения: 463
|
Профиль | Отправить PM | Цитировать Цитата mozgabyte:
c2:=trunc((x-c1*1000-c2*100)/100); с2 используется для своего же определиния а вот на си уже с исправлениями: #include <stdio.h> #include <math.h> int main(int argc, char* argv[]) { int x=0; do { printf("vvedite 4-znachnoe chislo:"); scanf("%d",&x);getchar(); } while (x>9999); int c1=x/1000; int c2=(x-c1*1000)/100; int c3=(x-c1*1000-c2*100)/10; int c4=(x-c1*1000-c2*100-c3*10)/1; // printf("%d %d %d %d",c1,c2,c3,c4); if (x==c4*1000+c3*100+c2*10+c1) printf("Eto palidrom!"); else printf("Eto ne palidrom!"); getchar(); return 0; } |
|
Отправлено: 21:18, 12-06-2009 | #6 |
Старожил Сообщения: 463
|
Профиль | Отправить PM | Цитировать В третей тоже ошибка
if (ord(c)=(48+i)) then x:=1; в конце должно быть x:=i; вот на си #include <stdio.h> int main(int argc, char* argv[]) { char c; // printf("Enter symbols: "); scanf("%c",&c); int x, sum=0; while (c!='.') { printf("Enter symbols: "); scanf(" %c",&c); x=-1; for (int i = 0; i <= 9; i++) if (c==48+i) x=i; if (x!=-1) sum+=x; } printf("Result: %d",sum);getchar();getchar(); return 0; } |
Отправлено: 21:40, 12-06-2009 | #7 |
Старожил Сообщения: 463
|
Профиль | Отправить PM | Цитировать 4:
#include <stdio.h> #define N 255 int main(int argc, char* argv[]) { int mass[N]={0}; int n,i=0; do { scanf("%d",&n); mass[i]=n; i++; } while (n!=0); int m=0; for (i = 0; i <= N; i++) if (mass[i]<0) m=i; n=0; for (i = 0; i <= m-1; i++) n+=mass[i] ; printf("%d",n); getchar(); getchar(); return 0; } |
Отправлено: 21:57, 12-06-2009 | #8 |
Старожил Сообщения: 463
|
Профиль | Отправить PM | Цитировать Ну и последний:
#include <stdio.h> #include <stdlib.h> #include <time.h> int main(int argc, char* argv[]) { int mass[255]={0}; int plus=0; int minus=0; time_t t; srand((unsigned) time(&t)); for (int i=0; i < 255; i++) mass[i]=random(512)-256; for (int i=1; i < 255; i++) { if (mass[i-1]>0&&mass[i]>0) plus++; if (mass[i-1]<0&&mass[i]<0) minus++; } printf("kol-vo par s (+) = %d\n",plus); printf("kol-vo par s (-) = %d\n",minus); getchar(); return 0; } |
Отправлено: 22:12, 12-06-2009 | #9 |
GEEK Сообщения: 729
|
Профиль | Сайт | Отправить PM | Цитировать Alan85, огромнейшее Спасибо!! Очень выручили Вы меня..
|
------- Отправлено: 22:21, 12-06-2009 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Всё о TURBO PASCAL (обсуждение, помощь в написание программ, ошибки, Pascal ABC) | Loading | Программирование и базы данных | 41 | 20-05-2015 15:28 | |
C/C++ - Перевод процедуры с Pascal на C++ | Snake750 | Программирование и базы данных | 56 | 05-04-2011 09:39 | |
Разное - Pascal | ManHack | Программирование и базы данных | 2 | 01-09-2009 22:50 | |
C/C++ - Pascal | c++ | Snake750 | Программирование и базы данных | 2 | 06-04-2009 21:59 | |
C/C++ vs Pascal | idLe | Программирование и базы данных | 21 | 18-04-2003 23:23 |
|