Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Kill100
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209

[C++]В чём ошибка?

16.12.2010, 19:54. Показов 1344. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите в чём ошибка ???
Вроде и работает а вроде и нет.
Например при значениях 4 6 10 работает а уже при значении 4 8 10 краш.
или при 8 4 а до ввода 3 числа да же и дело не доходит уже...
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
/*Задача 8.
Дан двумерный массив. Сформировать одномерный массив, каждый элемент которого
равен количеству элементов соответствующего столба двумерного массива, больших
числа а.
*/
 
#include<conio.h>
#include<iostream.h>
#include "time.h"
 
int m,n;
//-----------------------------------------------------------------------------------
//Функция заполнения 2х мерного массива случайными числами.    
//----------------------------------------------------------------------------------- 
int** enter(){
        time_t t;
    srand((unsigned) time(&t));
    
 int **a=new int*[n];
     for (int i=0; i<m;i++){
      a[i]=new int [n];};
 
     
      for (int i=0; i<m; i++)
      {
          for (int j=0; j<n; j++)
         a[i][j]=rand()%21;
        } ;
return a;        
}
//-----------------------------------------------------------------------------------
//функция вывода 2х мерной матрици на экран
//-----------------------------------------------------------------------------------
void print(int**a){
      for (int i=0; i<m; i++)
      {
          for (int j=0; j<n; j++)
          cout<<a[i][j]<<"\t";
          cout<<"\n";};
}
 
//-----------------------------------------------------------------------------------
//Подсчёт колличевства элементов столбца больше числа a
//-----------------------------------------------------------------------------------
int chislo(int**a,int j,int dd){
int kol=0;    
    for(int i=0;i<m;i++){
            if(a[i][j]>dd)kol++;
            };
    
return kol;}
 
 
 
 
//-----------------------------------------------------------------------------------
//Главное тело проги
//-----------------------------------------------------------------------------------
int main(){
    int **mass;
    int *b;
    int a;
    char rr;
    do{
    cout<<"Введите размер матрици m на n \n";
    cin>>m>>n;
    b=new int[m];
    mass=enter();
    cout<<"Сгенерированная матрица \n";
    print(mass);
    cout<<"Введите число a \n";
    cin>>a;
    cout<<"одномерный массив, каждый элемент которого равен колличевству елементов \nсоответствующего столба двумерного массива, \nбольших а. \n";
    for (int j=0;j<n;j++)
        b[j]=chislo(mass,j,a);
        
    for (int j=0;j<n;j++)
        cout<<b[j]<<"\t";
    cout<<"\nПовторить ввод данных ??? y/Y \n";
    cin>>rr;
        }while (rr=='y' || rr=='Y');
    cout<<"\nДля закрытия программы нажмите ввод.......";
    getch();
return 0;}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.12.2010, 19:54
Ответы с готовыми решениями:

Ошибка "Stack around the variable 'text' was corrupted"
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка. #include &lt;iostream&gt; ...

В чём ошибка
Программа вылетает когда я пытаюсь по модулю найти. Объясните где я ошибся! // 2.cpp: определяет точку входа для консольного приложения. ...

В чём ошибка?
#include &lt;iostream.h&gt; #include &lt;fstream.h&gt; #include &lt;climits.h&gt; #include &lt;cstring.h&gt; unsigned arr, larr; bool...

4
 Аватар для reich
110 / 46 / 4
Регистрация: 03.09.2009
Сообщений: 112
16.12.2010, 20:29
Не забывайте очищать динамически выделенную память!
И обратите внимание на выделение памяти под матрицу. Где это происходит и каким образом передается в функцию enter( int **a, int m, int n );
Старайтесь не использовать глобальные переменные.
Код желательно писать понятный для человека. А машина поймет в любом случае ;-)
Ну и т.д и т.п.
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
/*Задача 8.
Дан двумерный массив. Сформировать одномерный массив, каждый элемент которого
равен количеству элементов соответствующего столба двумерного массива, больших
числа а.
*/
 
#include<conio.h>
#include<iostream>
#include <ctime>
 
using namespace std;
 
//-----------------------------------------------------------------------------------
//Функция заполнения 2х мерного массива случайными числами.    
//----------------------------------------------------------------------------------- 
void enter( int **arr, int m , int n ){
    time_t t;
    srand( (unsigned) time( &t ) );
    for ( int i = 0; i < m; i++ ){
        for ( int j = 0; j < n; j++ ){
            arr[i][j] = rand() % 21;
        }
    }
}
//-----------------------------------------------------------------------------------
//функция вывода 2х мерной матрици на экран
//-----------------------------------------------------------------------------------
void print( int **a, int m, int n ){
    for ( int i = 0; i < m; i++ ){
        for ( int j = 0; j < n; j++ ){
            cout << a[i][j] << "\t";
        }
        cout << "\n";
    };
}
 
//-----------------------------------------------------------------------------------
//Подсчёт колличевства элементов столбца больше числа a
//-----------------------------------------------------------------------------------
int chislo( int **a, int m, int j, int dd ){
    int kol=0;
    for( int i = 0; i < m; i++ ){
        if( a[i][j] > dd ) kol++;
    }
    return kol;
}
 
 
 
 
//-----------------------------------------------------------------------------------
//Главное тело проги
//-----------------------------------------------------------------------------------
int main(){
    setlocale( LC_ALL, "RU" );
    int **mass = NULL, *b = NULL, m = 0, n = 0, a = 0;
    char rr;
    do {
        cout << "Введите размер матрици m на n \n";
        cin >> m >> n;
        b = new int[m];
        mass = new int*[m];
        for ( int i = 0; i < m; i++ ){
            mass[i] = new int[n];
        }
        enter( mass, m, n );
        cout << "Сгенерированная матрица \n";
        print( mass, m, n );
        cout << "Введите число a \n";
        cin >> a;
        cout << "одномерный массив, каждый элемент которого равен колличевству елементов \nсоответствующего столба двумерного массива, \nбольших а. \n";
        for ( int j = 0; j < n; j++ ){
            b[j] = chislo( mass, m, j, a );
        }
        for ( int j = 0; j < n; j++ ){
            cout<<b[j]<<"\t";
        }
        cout << "\nПовторить ввод данных ??? y/Y \n";
        cin >> rr;
    } while ( rr == 'y' || rr == 'Y' );
    system( "pause" );
    for ( int i = 0; i < m; i++ ){
        delete [] mass[i];
    }
    delete [] mass;
    return 0;
}
1
 Аватар для Kill100
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
16.12.2010, 23:24  [ТС]
то есть ошибка была в глабальном обзявлении переменной???
Или в чем???
На правленный код посмотрел особой разници не увидел.
Кроме очищения памити и удаления массива...
0
 Аватар для reich
110 / 46 / 4
Регистрация: 03.09.2009
Сообщений: 112
16.12.2010, 23:30
Цитата Сообщение от Kill100 Посмотреть сообщение
то есть ошибка была в глабальном обзявлении переменной???
Или в чем???
На правленный код посмотрел особой разници не увидел.
Кроме очищения памити и удаления массива...
читай книги
0
 Аватар для Kill100
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
17.12.2010, 00:19  [ТС]
Цитата Сообщение от reich Посмотреть сообщение
читай книги
Читаю и много ))
Но свои ошибки если делаю вижу редко
Бл 10 50 2 все равно крошат...

У нас препод по программированию жестокий проверяет задачи на больших числах..

Добавлено через 10 минут
СЛУЧАЙНО НАШЁЛ ОШИБКУ!!!
Не
C++
1
     b = new int[m];
А
C++
1
     b = new int[n];
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.12.2010, 00:19
Помогаю со студенческими работами здесь

В чём ошибка?
#include &lt;iostream&gt; using namespace std; int main() { int N, i; cin &gt;&gt; N; int *arr = new int; for(int i = 0; i&lt;N;...

В чём ошибка?
Немогу понять где накосячил, после внесения данных программа зависает. Помогите пожалуйста.#include &quot;stdafx.h&quot; #include...

В чём ошибка?
#include &lt;vcl.h&gt; #include &lt;conio.h&gt; #include &lt;iostream.h&gt; int main(int argc, char* argv) { int i,c,j,m,a; for(i=1;i&lt;100;i++) ...

в чём ошибка?
Не могу разобраться в этом. Нужно составить программу вычисляющую в зависимости от знака(с) сумму/разность двух двузначных чисел(xx+yy) ...

В чём ошибка
собственно вот. программа должна вывести логин, но не выводит его. по каким средствам можно заставить программу вывести логин #include...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru