Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Suprastin
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 38
15.12.2012, 05:08     Перевод задачи из Паскаль в С++ #1
Суть понятна по заголовку ) Очень прошу помочь. Условие такое: Задан целочисленный одномерный массив 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);}
}
}  } }
}   }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 05:08     Перевод задачи из Паскаль в С++
Посмотрите здесь:

Перевод из с++ в паскаль C++
Перевод з С++ в Паскаль)) C++
C++ Перевод программы паскаль в с++
Перевод с С++ на Паскаль C++
C++ Перевод с Паскаль на С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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);
}
}
}
}
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], из-за этого чуть не снес всю программу ))
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
15.12.2012, 06:41     Перевод задачи из Паскаль в С++ #4
Не стояло & рядом с a[i], из-за этого чуть не снес всю программу ))
В этом куске кода & не нужен.Функции printf адрес, берущийся & не нужен. & является обязательным для функции scanf.
Suprastin
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 38
16.12.2012, 17:46  [ТС]     Перевод задачи из Паскаль в С++ #5
Цитата Сообщение от asidorchenko Посмотреть сообщение
В этом куске кода & не нужен.Функции printf адрес, берущийся & не нужен. & является обязательным для функции scanf.
Без & при отладке в массиве одни нули. Так что нужен. А может у меня С++ такой
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
16.12.2012, 17:58     Перевод задачи из Паскаль в С++ #6
Цитата Сообщение от Suprastin Посмотреть сообщение
Без & при отладке в массиве одни нули. Так что нужен. А может у меня С++ такой
Сначалa разберись в программе. Причём не в своей, а хотя бы Hello world напиши и printf освой.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2012, 17:10     Перевод задачи из Паскаль в С++
Еще ссылки по теме:

C++ перевод из си++ в паскаль
C++ Перевод кода из C++ в Паскаль
Перевод из Паскаль в C++ C++

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

Или воспользуйтесь поиском по форуму:
Suprastin
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 38
17.12.2012, 17:10  [ТС]     Перевод задачи из Паскаль в С++ #7
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Сначалa разберись в программе. Причём не в своей, а хотя бы Hello world напиши и printf освой.

Обязательно все изучу ) В паскале делал все сам ) а тут как-будто заново родился ) ничего непонятно )
Yandex
Объявления
17.12.2012, 17:10     Перевод задачи из Паскаль в С++
Ответ Создать тему
Опции темы

Текущее время: 06:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru