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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка в коде http://www.cyberforum.ru/cpp-beginners/thread731854.html
template<class T> stack<T>::stack(int s) { v=p=new T; } почему нельзя выделять так память? ошибка.
C++ упростить конец кода Здравствуйте. Код работает , но для первого курса тяжеловато. Необходимо упростить. я про строки std::cin>>n; и std::cout<< (flag ? "YES" : "NO") <<'\n'; #include <stdio.h> #include <iostream> #include <conio.h> http://www.cyberforum.ru/cpp-beginners/thread731839.html
C++ Инициализация двумерного Динамического массива
У меня вопрос. Могу ли я создать двумерный динамический массив и инициализировать его своими значениями в коде программы. #include <iostream> using namespace std; int main() { int n=6;
функции задания с матрицами (Выделить квадратную матрицу максимального размера...) C++
Даны 2 матрицы A и B. Используя функцию для каждой из них найти: Кроме этого написать функции а). для генерации элементов матриц; б).для чтения матриц их текстового файла. Использовать 3 файла (модуля) для заголовков и объявлений, для определений функций и для основной функции main. Вот 2 задания 1.Выделить квадратную матрицу максимального размера в верхней левой её части. 2.Выделить...
C++ Найти производную всех членов арифметической прогрессии от 10 до 30 с шагом 1,15 http://www.cyberforum.ru/cpp-beginners/thread731816.html
Найти производную всех членов арифметической прогрессии от 10 до 30 с шагом 1,15 подскажите пожалуйста
C++ Задача: Реализуйте работу с файлом как с двунаправленной очередью символов Новичок просит помощи. Сессия совсем близко, а программирование идет туго. Более простые задачи пытаюсь делать сам/спрашивать/писать на курсах, а не могли бы вы помочь мне с самой последней и сложной задачей? подробнее

Показать сообщение отдельно
Suprastin
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 38

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

15.12.2012, 05:08. Просмотров 538. Ответов 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);}
}
}  } }
}   }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru