С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Suprastin
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 38
#1

Перевод задачи из Паскаль в С++ - C++

15.12.2012, 05:08. Просмотров 560. Ответов 6
Метки нет (Все метки)

Суть понятна по заголовку ) Очень прошу помочь. Условие такое: Задан целочисленный одномерный массив a из n элементов.Найти номер последнего минимального элемента среди элементов,меньших t1 и лежащих правее первого элемента,равного t2.


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
44
var
a:array [1..100] of integer; 
i,j,n,t1,t2,min:integer;
begin 
repeat
  write('Vvedite razmernost massiva->');
  readln(n);
until n>0;
writeln ('Vvedite ',n,' elementov massiva'); 
for i:=1 to n do 
readln(a[i]);
writeln('Poluchenniy massiv:');
for i:=1 to n do
write(a[i]:4);
writeln; 
if n=1 then
  writeln('Massiv sostoit is 1 elementa.Poisk ne vozmozen')
else
  begin
  write('Vvedite t1=');
  readln(t1);
  write('Vvedite t2=');
  readln(t2);
  i:=1;
  while (i<=n) and (a[i]<>t2) do
   i:=i+1;
  if i>n then
    writeln('V massive net elementov ravnix ',t2)
  else if i=n then
    writeln('Net elementov lezashix pravee elementa = ',t2)
  else
    begin
      min:=i+1;
      for j:=i+1 to n do
      if (a[j]<t1) and (a[j]<=a[min]) then
        min:=j;
      if a[min]>=t1 then
        writeln('Net elementov lezashix pravee  pervogo elementa = ',t2,' i menshix ',t1)
      else 
        writeln('Nomer poslednego min elementa sredi menshix ',t1,' i lezashix pravee elementa ',t2,'->',min); 
    end;
  end;
  readln;
end.
Добавлено через 8 часов 40 минут
пытался сам написать ) но так и не смог после Паскаля въехать в СИ++. Укажите в чем ошибки:

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
#include <stdio.h>
#include <iostream.h>
 
void main () {
const n=10;
int a[n]={1,2,3,4,5,6,7,8,9,10};
int i,j,min,t1,t2;
printf("\nVvedite t1=");
scanf("%d", &t1);
printf("\nVvedite t2=");
scanf("%d", &t2);
i=1;
while( (i<=n) && (a[i]!=t2) ) {
i++;
if (i>n) {
printf("\nV massive net elementov ravnbIx = ", &t2);}
else if (i==n) {
printf("\n Net elementov lezashix pravee elementa = ",&t2);}
else {
min=i+1;
while (j<=n) {
for (; j=i+1; n) {
if ( (a[i]<t1) && (a[j]<=a[min]) ) {
min=j;
if (a[min]>=t1) {
printf("\nNet elementov lezashix pravee pervogo elementa = ",&t2," i menbIIIego = ",&t1);}
else if ( (min=n) || (t2=a[n]) ) {
printf("\nNet elementov lezashix pravee elementa =",&t2);}
else {
printf("nomer posl. min elementa sredi menbIIIix",&t1,"i lezashix pravee elementa",&t2,"-->",min);}
}
}  } }
}   }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 05:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод задачи из Паскаль в С++ (C++):

Перевод з С++ в Паскаль)) - C++
#include &quot;stdafx.h&quot; #include &lt;iomanip&gt; #include &lt;iostream&gt; using namespace std; #define n 67 void main() { int p,q, a,i=0; ...

Перевод из с++ в паскаль - C++
прошу помощи в переводе данного кода в паскаль... всё более-менее ясно, но та же самая последняя фигня в мэйне типо 'case'... я не понимаю...

Перевод из Паскаль в C++ - C++
uses crt; const nmax=100;{при 100 считает довольно долго, ждите} e=0.01; type Point=record {точка} ...

Перевод с Паскаль на С++ - C++
Привет всем.Помогите перевести с паскаля на C++ этот код: const n = 100; var arr: array of integer; i, m, qty: byte;...

Перевод с Паскаль на С++ - C++
Помогите перевести с паскаля на C++ этот код: var s:string; i,c:integer; begin readln(s); c:=0; for i:=1 to...

Перевод из паскаль в С++ - C++
Ребята, очень срочно, кто сможет выручайте, нужно перевести данную программу на с++! Данная задача нужна для зачета завтра! Если кто сможет...

6
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
15.12.2012, 05:35 #2
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <stdio.h>
#include <locale.h>
 
int main()
{
setlocale( LC_ALL,"Russian" );
 
int a[100];
int i, j, n, t1, t2, min;
 
do { 
printf("Введите размерность массива->\n");
scanf("%d", &n);
} while(!(n>0));
 
printf("Введите %d элементов массива\n", n);
for(i=0;i<n;i++)
scanf("%d", &a[i]);
printf("Полученный массив:\n");
for(i=0;i<n;i++)
printf("%d ", a[i]);
printf("\n");
 
if (n == 1)
{
printf("Массив состоит из одного элемента. Поиск невоможен\n");
}
else
{
printf("Введите t1:\n");
scanf("%d", &t1);
printf("Введите t2:\n");
scanf("%d", &t2);
i = 0; 
 
while (i<n && a[i] != t2)
{
i++;
}
 
if (i>=n)
{
printf("В массиве нет элементов равных %d\n", t2);
}
else if (i==n-1)
{
printf("Нет элементов лежащих правее элемента равного %d\n", t2);
}
else
{
min = i+1;
for(j = i+1;j<n; j++)
{
if (a[j] < t1 && a[j] <= a[min])
min = j;
}
 
if (a[min] >=t1)
{
printf("Нет элементов, лежащих правее первого элемента = %d и 
 
меньших %d\n", t2, t1);
}
else
{
printf("Номер последнего минимального элемента среди меньших %d и 
 
лежащих правее элемента %d->%d\n", t1, t2, min);
}
}
}
}
1
Suprastin
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 38
15.12.2012, 06:37  [ТС] #3
Большое спасибо. В этом куске кода
C++
1
2
3
4
printf("Полученный массив:\n");
for(i=0;i<n;i++)
printf("%d ", a[i]);
printf("\n");
Не стояло & рядом с a[i], из-за этого чуть не снес всю программу ))
0
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
15.12.2012, 06:41 #4
Не стояло & рядом с a[i], из-за этого чуть не снес всю программу ))
В этом куске кода & не нужен.Функции printf адрес, берущийся & не нужен. & является обязательным для функции scanf.
0
Suprastin
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 38
16.12.2012, 17:46  [ТС] #5
Цитата Сообщение от asidorchenko Посмотреть сообщение
В этом куске кода & не нужен.Функции printf адрес, берущийся & не нужен. & является обязательным для функции scanf.
Без & при отладке в массиве одни нули. Так что нужен. А может у меня С++ такой
0
Kuzia domovenok
2061 / 1906 / 176
Регистрация: 25.03.2012
Сообщений: 6,567
Записей в блоге: 1
16.12.2012, 17:58 #6
Цитата Сообщение от Suprastin Посмотреть сообщение
Без & при отладке в массиве одни нули. Так что нужен. А может у меня С++ такой
Сначалa разберись в программе. Причём не в своей, а хотя бы Hello world напиши и printf освой.
0
Suprastin
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 38
17.12.2012, 17:10  [ТС] #7
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Сначалa разберись в программе. Причём не в своей, а хотя бы Hello world напиши и printf освой.

Обязательно все изучу ) В паскале делал все сам ) а тут как-будто заново родился ) ничего непонятно )
0
17.12.2012, 17:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2012, 17:10
Привет! Вот еще темы с ответами:

Перевод с С++ на Паскаль - C++
Нужно написать программу на C++, но мне удалось найти только вариант на паскале, его мы не изучали, помогите перевести. var a,b:real;...

перевод из си++ в паскаль - C++
for (int j = max(0, i - (n - m)); j &lt;= i &amp;&amp; j &lt;= m; ++j) Как перевести эту строчку, а именно &quot;j &lt;= i &amp;&amp; j &lt;=...

Перевод с Паскаль на С++ - C++
uses crt; var m, k: byte; begin write('m = '); readln(m); write('k = '); readln(k);

Перевод с Паскаль на С++ - C++
var S,x,i:integer; begin x:=1; S:=0; for i:=1 to 10 do begin S:=S+x; x:=x*2; end; write(S div 100, ',', S mod 100,'...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.