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

сортировка и поиск в массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Польская запись http://www.cyberforum.ru/cpp-beginners/thread134260.html
Создать приложение для вычисления значения арифметического выражения, которое может включать в себя действительные числа, а также круглые скобки и следующие операции: +, -, *, /, ^ (возведение в степень). Вычисления должны производиться с учетом скобок и приоритетов используемых операций. Предусмотреть корректную обработку возможных ошибок и информирование о них пользователя.
C++ гнездовой поиск помогите плиз данный список из предложений и данный массив из предложений упорядочить методом гнездового поиска.... в массиве можете посмотреть как сделать удаление элемента....и осовбождение памяти... скиньте гудок на +7-916-335-15-18,я перезвоню.отблагадарю за помощь........ срочно нужно)))) список: #include "stdafx.h" #include "stdafx.h" http://www.cyberforum.ru/cpp-beginners/thread134259.html
C++ гнездовой поиск
помогите плиз данный список из предложений и данный массив из предложений упорядочить методом гнездового поиска.... в массиве можете посмотреть как сделать удаление элемента....и осовбождение памяти... скиньте гудок на +7-916-335-15-18,я перезвоню. отблагадарю за помощь ввиде 200-300 рублей на yandex.money или webmoney)))) срочно нужно)))) список: #include "stdafx.h"
Работа с отладчиком [C++] C++
Уважаемые пользователи, подскажите пожалуйста, как с помощью отладчика С++ в Visual Studio 2008 посмотреть где будут храниться числа, введенные пользователем с клавиатуры в различных системах счисления, в памяти компьютера? Заранее спасибо.
C++ Описать Структуру "Фильм" http://www.cyberforum.ru/cpp-beginners/thread134238.html
Описать Структура "Фильм": - название; - режиссер; - год выпуска; - стоимость. И выполнить такие операции с ней: 1.Удалить все элементы, у которых стоимость превышает заданную 2.Добавить K элементов в начало файла
C++ Вещественное число в виде строки Здравствуйте. Существует замечательная функция atof(). Есть ли обратная этой функции, т.е. которая вещ. число переводит в строку. подробнее

Показать сообщение отдельно
Kseny
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 8
23.05.2010, 17:13     сортировка и поиск в массиве
Здравствуйте, помогите пожалуйста перевести с паскаля на си.
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
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
 program PROGVybor;
 
uses
  crt;
 
const
  Nmax=100;
 
type
  TIndex   = 0..Nmax-1;      {’ЁЇ - Ё*¤ҐЄб ¬*ббЁў*}
  TElement = integer;        {’ЁЇ н«Ґ¬Ґ*в* ¬*ббЁў* - Ў*§®ўл© вЁЇ ¬*ббЁў*}
  TVector  = array [TIndex] of TElement; {’ЁЇ - ўҐЄв®а, «Ё*Ґ©*л© ¬*ббЁў}
 
var
  a        : TVector;      { ‹Ё*Ґ©*л© ¬*ббЁў }
  N        : word;         { ”*ЄвЁзҐбЄЁ© а*§¬Ґа ¬*ббЁў* }
  k        :TELement;
  i        :TIndex;
      { Џа®жҐ¤га* ЈҐ*Ґа*жЁЁ б«гз*©*ле §**зҐ*Ё© ¬*ббЁў* a
       Ё§ ¤Ё*Ї*§®** 楫ле зЁбҐ« 0..N-1                               }
 
procedure MakeVector (var a : TVector; N : word);
var
  i : TIndex;
 
begin {MakeVector}
 
  randomize;
  for i:=0 to N-1 do
    a[i] := random(N);
 
end;  {MakeVector}
 
 
       {Џа®жҐ¤га* ўлў®¤* ** нЄа** «Ё*Ґ©*®Ј® ¬*ббЁў* *}
 
procedure PrintVector (var a : TVector; N : word);
var
  i : TIndex;
 
begin {PrintVector}
  for i:=0 to N-1 do
    write(a[i]:4);
    writeln;
 
end;  {PrintVector}
 
 
 
 
  {Џа®жҐ¤га* ®Ў¬Ґ*Ёў*Ґв ¬Ґбв*¬Ё §**зҐ*Ёп ЇҐаҐ¬Ґ**лx y Ё x вЁЇ* TElement}
procedure swap (var x,y:TElement);
var
  t:TElement;
begin
  t:=x;
  x:=y;
  y:=t;
end;    {swap}
 
   { Џа®жҐ¤га* Їа®Ё§ў®¤Ёв б®авЁа®ўЄг н«Ґ¬Ґ*в®ў «Ё*Ґ©*®Ј® ¬*ббЁў* *
    ¬Ґв®¤®¬ ўлЎ®а* c Є®*ж* ¬*ббЁў*.}
procedure SortingVector(var a:TVector; N : word);
var
  i,j,imax:TIndex;
begin{sorting vector}
      {б®авЁа®ўЄ* ¤«п н«Ґ¬Ґ*в®ў ¬*ббЁў* б Ї®б«Ґ¤*ҐЈ® ¤® ЇҐаў®Ј®}
  for i:=(N-1) downto 1 do
  begin
 
 
    { Џ®ЁбЄ б।Ё Ё*¤ҐЄб®ў н«Ґ¬Ґ*в®ў ¬*ббЁў* * б i ¤® N
    Ё*¤ҐЄб* н«Ґ¬Ґ*в* б **ЁЎ®«миЁ¬ §**зҐ*ЁҐ¬              }
    imax:=i;
    for j:=(i-1) downto 0 do
    if a[j]>a[imax] then
      imax:=j;
 
    {®Ў¬Ґ* a[i] Ё a[imax]}
      swap(a[imax],a[i]);
  end;
end;
 
  {дг*ЄжЁп Їа®Ё§ў®¤Ёв Ї®б«Ґ¤®ў*⥫м*л© Ї®ЁбЄ Ё*¤ҐЄб* ЁбЄ®¬®Ј® н«Ґ¬Ґ*в* б Є®*ж* ¬*ббЁў*}
Function POISK (var  a:TVector; N:word; k: TElement;var   i:TIndex ):integer;
begin
  i:=(N-1);
  while(i>=0) and (a[i]<>k) do
  begin
    Poisk:=i;
    dec (i);
  end;
end;
 
 
 
begin
  ClrScr;
  writeln('Џа®Ја*¬¬* Їа®Ё§ў®¤Ёв б®авЁа®ўЄг «Ё*Ґ©*®Ј® 楫®зЁб«Ґ**®Ј®':60);
  writeln;
 
  write('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® н«¬Ґ*в®ў N ¬*ббЁў*=');
  readln(N);
 
  MakeVector(a, N);
 
  writeln('?б室*л© ¬*ббЁў:');
  PrintVector(a, N);
  SortingVector(a, N);
 
  writeln('Ћвб®авЁа®ў***л© ¬*ббЁў:');
  PrintVector(a, N);
  write('‚ўҐ¤ЁвҐ ЁбЄ®¬л© н«Ґ¬Ґ*в k=');
  readln(k);
 
  if POISK (a,N,k,i)>0 then
    writeln('н«Ґ¬Ґ*в **©¤Ґ* б Ё*¤ҐЄб®¬',POISK (a,N,k,i))
  else
    writeln('н«Ґ¬Ґ*в *Ґ **©¤Ґ*');
    readln;
end.
вот мои наработки:

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
/*programma reshaet zadachu:sosedom elementa  Aij матрицы называется другой элемент Alk этой же  матрицы, если каждый из его индексов l и k
отличается от соответственно i и j  не более чем на 1. Дана веществ. матрица размером MxN. построить матрицу В такого же размераб чтобы каждый элемент
bij этой матрицы был равен наименьшему значению среди соседей элемента Aij.*/
#include <studio.h>
#include <moth.h>
#include <conio.h>
#define m 5
#define n 4
void main()
{
  float a[m][n];  // матрица а
  float b[m][n];  // матрица б
  
  int i,j;     //индексы массива
  printf("\n введите маcсив\n");
  printf("после ввода элементов строки нажмите <enter>\n">);
  
  for (i=0;i<m;i++)  // m строк
  {
      printf("->");
      for (j=0; j<n;j++)
        scanf("%f", &a[i][j]);
  }     
  printf("\n введенный массив\n");
  
  for (i=1; i<m; i++)
    for (j=1; j<n; j++)
    {
      int  p=i-1;
      int  t=i+1;
      int  p1=j-1;
      int  t1=j+1;
      float min = maxint;
        for (k=p; k<t; k++)
          for (l=p1; l<t1; l++)
          if ((k>=1)&&(k<=m))&&((l>=1)&&(l<=n))&&((i<>k)||(j<>l))
          {
            if ( a[k][l]<min)&&(a[k][l]<>a[i][j])&&(a[k][l]<>a[p,p1])&&(a[k][l]<>a[t][p1] )&&(a[k][l]<>a[p][t1] )&&(a[k][l] <> a[t][t1] )                                                
            {
                 min=a[k][l];
      
            }
            b[i][j]=min;
         }
     }
     for (i=1;i<m; i++)
       for (j=1;j<n; j++)
       scanf ("%f", b[i][j]);
       printf ("\n массив полученный из наименьших значений среди соседей элемента Aij\n");
  {
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru