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

Что не так?) - C++

Восстановить пароль Регистрация
 
Праздник
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 15
26.09.2013, 22:11     Что не так?) #1
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
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
// Программа выполняет следущее:
// 1. Считае среднее арифметическое всех положительных элементов массива;
// 2. Считает сумму элементов, расположенных до максимального элемента массива;
 
#include "stdafx.h"
#include <math.h>
#include <stdio.h>
#include <time.h>
#include <memory.h>
#include <clocale>
#include <stdlib.h>
#include <windows.h>
 
 
int main () {
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
    srand(time(NULL));
    printf("\t\t\t  _______________________\n");
    printf("\t\t\t  *  !ДОБРО ПОЖАЛОВАТЬ!  *\n");
    printf("\t\t\t  _______________________\n\n");
 
 
 
    //Блок Переменных (Начало)
 
    double srar=0;
    int i,razmer,menu,menu1,summ,j,maxEl,summ2;
    i=razmer=menu=menu1=summ=maxEl=summ2=j=0;
    int *a=new int [razmer]();
    //Блок Переменных (Конец)
 
    
    do
    {
        
 
    
printf("\n\tВыберите пункт меню:\n");
         printf("-----------------------------\n");
         printf("_________________________________________\n");
         printf("| Нажмите 1 для ввода данных->           |\n");
         printf("+----------------------------------------+\n");
         printf("| Нажмите 2 для подсчета введеных даных=>|\n");
         printf("+----------------------------------------+\n");
         printf("| Нажмите 3 для вывода результата=>      |\n");
         printf("+----------------------------------------+\n");
         printf("|****************************************|\n");
         printf("| Нажмите 0 для выхода=>                 |\n");
         printf("|________________________________________|\n");
         scanf("%d", &menu);
         switch (menu)
         {
         case 1: 
             
             printf("\t _____________________________________________\n");
             printf("\t| Нажмите 1 для случайного заполнения массива|\n");
             printf("\t+-------------------------------------------+\n");
             printf("\t| Нажмите 2 для заполнения массива вручную   |\n");
             printf("\t+-------------------------------------------+\n");
             printf("\t| Нажмите 3 для возврата в предедыщее меню   |\n");
             printf("\t=============================================\n\n");
             scanf("%d" , &menu1);
             switch (menu1)
             {
             case 1:
                 do {
    printf("\n\tВведите размер массива: ");
     if (!scanf ("%d",&razmer))
         {  
            printf("Размер массива задан некоректно!\a\n\n");
            clearerr(stdin);
            while (getchar() != '\n');
            continue;
        }
    if (razmer<=0) 
        printf("Размер массива задан некоректно!\a\nРазмер массива должен быть неотрицательным, и не нулевым!\n\n ");
    else break; } while(true);
                 for (i=0;i<razmer;i++){
                 a[i]=rand() % 10;
                 printf("Массив заполнен с такими значениями: ");
                 printf("%d элемент массива равен: %d\n", i,a[i]);
                 
                 }
                 break;
             case 2:
                 do {
                 printf("\n\tВведите размер массива: ");
     if (!scanf ("%d",&razmer))
         {  
            printf("Размер массива задан некоректно!\a\n\n");
            clearerr(stdin);
            while (getchar() != '\n');
            continue;
        }
    if (razmer<=0) 
        printf("Размер массива задан некоректно!\a\nРазмер массива должен быть неотрицательным, и не нулевым!\n\n ");
    else break; } while(true);
                 for (i=0;i<razmer;i++){
                 printf("Введите %d элемент массива ", i);
                     scanf("\t%d", &a[i]);
 
                 }
                 for (i=0;i<razmer;i++){
                 printf("Массив заполнен с такими значениями: ");
                 printf("%d элемент массива равен: %d\n", i,a[i]);
                 
                 }
                 
                 break;
             case 3:
                 break;
 
             default:
                 printf("\aВыбран неверный пункт меню!\n");
                 break;
             }
             break;
         case 2: 
             for (i=0;i<razmer;i++){
                 if (a[i]>0){
                 summ=summ+a[i];
                 j+=1;
                 }
             }
             if (j!=0){
                 srar=summ/j;}
             else 
             {
             printf("\nERORR!!!!!!!");
             }
             maxEl=a[0];
             for (i=0;i<razmer;i++){
                 if (a[i]>maxEl){
                 maxEl=i;
                 }}
             for (i=0;i<maxEl;i++){
                 summ2=summ2+a[i];
             }
             printf("Подсчет завершен:)\n");
             break;
         case 3: 
             printf("Среднее арифметическое всех положительных элементов массива рано: %d\n", &srar);
             printf("Сумму элементов, расположенных до максимального элемента массива равна: %d\n", &summ2);
             delete [] a;
             getchar();
        
             
             break;
         case 0: 
             break;
         default:
             printf("\aВыбран неверный пункт меню!\n");
             break;
         }
 
    
    
    }while(menu!=0);
    
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2013, 22:11     Что не так?)
Посмотрите здесь:

что не так? C++
что-то не так C++
Что не так? C++
что не так? C++
что не так C++
что не так? C++
C++ Что не так?
что не так? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11801 / 6780 / 765
Регистрация: 27.09.2012
Сообщений: 16,833
Записей в блоге: 2
Завершенные тесты: 1
26.09.2013, 22:14     Что не так?) #2
Цитата Сообщение от Праздник Посмотреть сообщение
Что не так?)
А мы то откуда знаем что не так?

Какие ошибки, когда, где?
Праздник
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 15
26.09.2013, 22:24  [ТС]     Что не так?) #3
в том то и дело, ошибки при компиляции нету, всегда в разных местах ошибки выдает,

Добавлено через 1 минуту
ОС Windows инициировала точку останова в lab_2.1.exe.



Это может быть вызвано повреждением кучи и указывает на ошибку в lab_2.1.exe или в одной из загруженных им DLL.



Возможной причиной так же может быть нажатие пользователем клавиши F12, когда фокус принадлежит lab_2.1.exe



Выведенное на экран окно содержит дополнительные данные для диагностики ошибки
Yandex
Объявления
26.09.2013, 22:24     Что не так?)
Ответ Создать тему
Опции темы

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