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

Небольшое уточнение - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проблемы с Code::Blocks12.11 http://www.cyberforum.ru/cpp-beginners/thread851448.html
Я только учусь программировать на с++, и по этому спрашиваю у опытных или тех кто знает эту проблему. Читаю книгу C++ руководство для начинающих - Шилдт Г. И там была программа с циклом for. Надо было чтобы генерировала таблицу земных фунтов.Вот что у меня получилось: #include<iostream> using namespace std; int main() { double b; int s; double a; s=0; ...
C++ Добавить в конец каждой строки необходимо количество «*» что бы выровнять текст по правому краю большей строки Дано некоторое количество строк, не больше как размер текстового окна. Добавить в конец каждой строки необходимо количество «*» что бы выровнять текст по правому краю большей строки. Наработки: #include <stdio.h> #include <string.h> #include <conio.h> main() { int i=0,j=0,maxs=0,n,kz,p; char s,sz; http://www.cyberforum.ru/cpp-beginners/thread851447.html
C++ Заполнение массива с использованием указателей
Необходимо заполлнить массив a с использовнием ничего не возвращающей функии и указателей. Однако происходить только заполнение всех элементов массива первым введенным значением, подскажите пожалуйста, в чем может быть проблема. Код: #include <stdio.h> void fill_in(int *b, int c); int main() { int a;
operator >> C++
// 1.h #ifndef STONEWT_H_ #define STONEWT_H_ using std::cout; using std::cin; using std::endl; class Stonewt { private: enum {Lbs_per_stn = 14}; // pounds per stone
C++ Сортировка методом пузырька http://www.cyberforum.ru/cpp-beginners/thread851415.html
Всем привет. Ругается на i. Пишет Выражение должно иметь тип указателя на объект. В дополнении пишет что swap не определен. Помогите исправить косяки) #include "stdafx.h" #include <iostream> int _tmain(int argc, _TCHAR* argv) { int a, i, flag;//размер массива setlocale(LC_ALL,"Russian");
C++ перевод консоли на русский раз и навсегда всем привет, я пока в програмировании полный ноль и столкнулся с такой проблемой как перевод консоли на русский язик, я хочу перевести ее раз и навсегда, как это правильно сделать? каждый раз вводить функцию по-новому не подходит, помогите, пожалуйста... подробнее

Показать сообщение отдельно
andyoO
1 / 1 / 0
Регистрация: 19.12.2012
Сообщений: 68
28.04.2013, 22:34     Небольшое уточнение
Дан массив. в нем выполняется поиск элемента последовательным или бинарным методами (в зависимости от заданных параметров). вот код полной программы:
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <math.h>
#include <ctime>
#include <windows.h> 
#include <clocale>
#include <string>
#include <stdlib.h>
#include <conio.h>
using namespace std;
int main (int argc, char **argv)
{
   int i, j, el, m, k, kol= 0, w, last, first, mid, row, col, **ar;
   cout<< ("Enter rows");
   cin>>row;
     cout<< ("Enter cols");
   cin>>col;
   cout<<("\n-----\nMatrix:\n");
   ar= (int **)malloc (sizeof (int *) * row);
   for (i= 0; i < row; i++)
   {
   ar[i]= (int*)malloc (sizeof (int) * col);
      for (j= 0; j < col; j++)
      {
         ar[i][j]= rand () % 99;
         cout << std::setw(5) << ar[i][j];
      }
      cout<< ("\n");
   }
// Сортировка выборкой
   for (j= 0; j < col; j++)
      for (m= 0; m < row - 1; m++)
         for (i= m + 1; i < row; i++)
         {               
            if (ar[i][j] < ar[m][j])
            {    
                w= ar[m][j];
                ar[m][j]= ar[i][j];
                ar[i][j]= w;
            }
         }
   cout<< ("\nSorting by selection:\n");//в
   for (i= 0; i < row; i++)             //ы
       {                                //в
      for (j= 0; j < col; j++)          //о
   cout << std::setw(5) << ar[i][j];    //д
      cout<<("\n");                     //массива
   }    
   cout<< ("\nFind element: ");         //искомый элемент
   cin>>el;
// Последовательный поиск    
   cout<<("\n-----\nConsecutive search:\n");
   for (j= 1; j < col; j+=2)
   {
      for (i= 0; i < row; i++)
      {
         if (ar[i][j] == el)
         {
            kol++;
            printf("col %2d in row %2d\n", j + 1, i + 1);
         }
      }
   }    
   if (kol == 0)
      printf("Not found\n");    
// Бинарный поиск
   printf ("\nBinary search:\n");
   for (j= 0; j < col; j+= 2)
   {
      first= 0;
      last= row - 1;
      while (first <= last)
      {
         mid= (first + last) / 2;
         if (ar[mid][j] < el)
            first= mid + 1;
         else if (ar[mid][j] > el)
            last= mid - 1;
         else
         {
            kol++;
            int buf= mid;
            while (buf > 0 && ar[--buf][j] == el);
            while (++buf < row && ar[buf][j] == el)
               printf ("col in row %2d\n", j + 1, buf + 1);
            break;
         }
      }
   }
   if (kol == 0)    
      printf("Not found\n");    
   return 0;    
}
Теперь сам вопрос: можно ли обойтись без
C++
1
 ar= (int **)malloc (sizeof (int *) * row);
и
C++
1
ar[i]= (int*)malloc (sizeof (int) * col);
? и как это сделать, чтобы программа работала корректно
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru