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

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

Войти
Регистрация
Восстановить пароль
 
Алекс090394
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 35
#1

как сделать чтобы программа не переполняла буфер - C++

14.03.2013, 15:50. Просмотров 260. Ответов 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
#include "stdafx.h"
#include <iostream>
using namespace std;
void sort_pryamoi_vybor(int n) {int mas[20];
  int srav=0, perest=0;
  for (int i=0; i<n-1; i++) {
    int j_max=i;
    for (int j=i+1; j<n; j++) {
      srav++;
      if (mas[j] > mas[j_max]) {
        j_max = j;
      }
    }
    perest++;
    int t = mas[i];
    mas[i] = mas[j_max];
    mas[j_max] = t;
  }
  
      cout << srav << " " << perest << endl;
  }
 
void zapolit(int n) {int mas[20];
  for (int i=0; i<n; i++) {
    mas[i] = rand()%100;
  }
}
 
int main(int n) {
  for (int i=20; i<=800; i+=20) {
    n=i;
    zapolit(n);
    sort_pryamoi_vybor(n);
  }
  system("pause");
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2013, 15:50     как сделать чтобы программа не переполняла буфер
Посмотрите здесь:

Как сделать, чтобы программа быстрее работала? C++
C++ Как сделать чтобы программа не вылетала после однократного выполнения в консоли
Как сделать так, чтобы программа понимала русские буквы? C++
Как сделать чтобы программа не закрывалась. C++
C++ как сделать чтобы программа считала нормально
C++ Как сделать чтобы программа закрывалась, когда условие выполнено?
Движение объекта по XY. Как сделать чтобы программа считала FaceUnit как градусы C++
Как сделать, чтобы программа не закрылась сразу после выполнения? C++
C++ Как сделать, чтобы после выполнения условия, программа не проверяла следующие?
Как сделать чтобы программа отображала входные параметры самостоятельно C++
Как сделать так чтобы программа открывала txt файл? C++
C++ Как сделать, так чтобы программа выводила наименование цвета, как здесь?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
14.03.2013, 16:02     как сделать чтобы программа не переполняла буфер #2
Алекс090394, твой код напрочь нерабоатоспособный о каком переполнении вообще может идти речь?
Ты вообще понимаешь что массивы красным совсем никак не были связаны?Фактически втой код, будь он написан верно всё равно бы сортировал мусор оперативки!
Цитата Сообщение от Алекс090394 Посмотреть сообщение
oid sort_pryamoi_vybor(int n) {int mas[20];
Цитата Сообщение от Алекс090394 Посмотреть сообщение
void zapolit(int n) {int mas[20];
Ладно лови
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
#include <iostream>
using namespace std;
 
void zapolnit(int * mas, int n);
void sort_pryamoi_vybor(int * mas, int n) ;
 
int main() 
{
    int * mas  = 0;
    for (int n = 20; n <= 800; n += 20) 
    {
        mas = new int[n];
        zapolnit(mas, n);
        sort_pryamoi_vybor(mas, n);
        delete [] mas;
    }
    getchar();
    return 0;
}
 
void sort_pryamoi_vybor(int * mas, int n) 
{
    int i, j;
    int srav=0, perest=0;
    for (i=0; i < n; i++) 
    {
        int j_max=i;
        for (j = i + 1; j < n; j++) 
        {
            srav++;
            if (mas[j] > mas[j_max]) 
                j_max = j;
        }
        perest++;
        int t = mas[i];
        mas[i] = mas[j_max];
        mas[j_max] = t;
    }
    cout << srav << " " << perest << endl;
}
 
void zapolnit(int * mas, int n) 
{
    for (int i=0; i<n; i++) 
        mas[i] = rand()%100;
}
Миниатюры
как сделать чтобы программа не переполняла буфер  
-=ЮрА=-
14.03.2013, 16:08     как сделать чтобы программа не переполняла буфер
  #3

Не по теме:

Проверка здесь http://liveworkspace.org/code/t7czr$2

Yandex
Объявления
14.03.2013, 16:08     как сделать чтобы программа не переполняла буфер
Ответ Создать тему
Опции темы

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