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

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

Войти
Регистрация
Восстановить пароль
 
IvanF
0 / 0 / 0
Регистрация: 14.01.2012
Сообщений: 3
#1

Зависает программа после ввода массива - C++

15.01.2012, 17:41. Просмотров 587. Ответов 4
Метки нет (Все метки)

Помогите найти ошибку, программа ищет и выводит на экран два максимальных элемента всех нечетных строк массива:

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
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
void main()
{
 clrscr();
float M[4][3];
int i,j, max1, max2;
cout<<"\nМассив М:";
for(i=0;i<4;i++)
{
 cout<<"\n";
 for(j=0;j<3;j++)
 {
  cin>>M[i][j];
  cout<<M[i][j]<<"  ";
  if(fmod(i,2)>0)
  {
   i=0;
   j=0;
    while (j<=0)
    {
     if (M[i][j]>M[i][j+1]) max1=M[i][j];
     else max1=M[i][j+1];
    }
   i=2;
   j=0;
    while (j<=0)
    {
     if (M[i][j]>M[i][j+1]) max2=M[i][j];
     else max2=M[i][j+1];
    }
   }
  }
 }
 cout<<"\nМаксимальные элементы*: "<<max1<<max2<<"\n\n";
 
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2012, 17:41     Зависает программа после ввода массива
Посмотрите здесь:

Класс для динамических матриц. После ввода элементов матрицы программа аварийно закрывается C++
C++ После ввода первого элемента программа вылетает
Почему программа себя странно ведет: зацикливается после ввода значений? C++
Программа, во время выполнения, после ввода, прекращает работу C++
Сокеты: после вызова send программа зависает на функции recv C++
C++ Почему после ввода переменной программа закрывается?
Программа закрывается после ввода массива C++
Программа, которая после ввода с клавиатуры натурального числа N, выводит на экран квадратный корень C++
После ввода данных программа закрывается, не показав ответ (Dev C++) C++
C++ Программа компилируется, но после ввода данных просто закрывается
После ввода первой строки программа дает ошибку и закрывается C++
C++ Программа останавливается после ввода имени файла

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nxnx
Формучанин
362 / 293 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
15.01.2012, 17:45     Зависает программа после ввода массива #2
C++
1
2
3
4
5
6
 j=0;
    while (j<=0)
    {
     if (M[i][j]>M[i][j+1]) max2=M[i][j];
     else max2=M[i][j+1];
    }
бесконечный цикл. условие истинно при j=0, в теле цикла j не меняется.
retmas
Жарю без масла
858 / 740 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
15.01.2012, 17:47     Зависает программа после ввода массива #3
бесконечные циклы
IvanF
0 / 0 / 0
Регистрация: 14.01.2012
Сообщений: 3
15.01.2012, 18:04  [ТС]     Зависает программа после ввода массива #4
А как исправить? Есть еще варианты выполнения?
retmas
Жарю без масла
858 / 740 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
15.01.2012, 18:23     Зависает программа после ввода массива #5
на скорую руку
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
#include <iostream>
 
using namespace std;
 
int main()
{
    float M[4][3];
    int i, j;
    float max1;
    float max2;
 
    for (i = 0; i < 4; ++i)
        for (j = 0; j < 3; ++j)
            cin >> M[i][j];
 
    max1 = max2 = M[0][0];
 
    for(i = 0; i < 4; ++i)
    {
        if(i % 2 == 0)
            continue;
        for(j = 0; j < 3; ++j)
        {
            if(max1 < M[i][j])
            {
                if(max2 < max1)
                    max2 = max1;
                max1 = M[i][j];
            }
            else if(max2 < M[i][j])
            {
                if(max1 < max2)
                    max1 = max2;
                max2 = M[i][j];
            }
        }
    }
 
    cout << max1 << "\t" << max2 << endl;
    return 0;
}
Yandex
Объявления
15.01.2012, 18:23     Зависает программа после ввода массива
Ответ Создать тему
Опции темы

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