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

Ошибка вывода или проги? - C++

Восстановить пароль Регистрация
 
Eriadan
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 16
14.10.2010, 00:05     Ошибка вывода или проги? #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
#include <stdio.h>
#include <conio.h>
const N=3;
const K=4;
 
main()
 
{
int i,j,c,d,A[N][K],b[N];
 
for (i=0; i<N; i++)
 for (j=0; j<K; j++)
  {
  printf ("Vvedit A[%d][%d]>",i,j);
  scanf ("%d",&A[i][j]);
  }
printf ("\n");
for (i=0; i<N; i++)
 {
 for (j=0; j<K; j++)
  printf ("%d\t",A[i][j]);
 printf ("\n");
 printf ("\n");
 }
 
printf ("\n");
 
for (j=0; j<K; j++)
 {
 for (c=0; c<N; c++)
  for (i=0; i<N-c; i++)
   if (A[i][j]>A[i+1][j])
    {
    d=A[i][j];
    A[i][j]=A[i+1][j];
    A[i+1][j]=d;
    }
 }
 
 for (c=0; c<K; c++)
  for (j=0; j<K-c; j++)
   if (A[0][j]>A[0][j+1])
    {
    for (i=0; i<N; i++)
     {
     b[i]=A[i][j];
     A[i][j]=A[i][j+1];
     A[i][j+1]=b[i];
     }
    }
 
for (i=0; i<N; i++)
 {
 for (j=0; j<K; j++)
 printf ("%d\t",A[i][j]);
 printf ("\n");
 printf ("\n");
 }
getch ();
return 0;
}
И скрин того, что оно выдает (начальная матрица и конечная).
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2010, 00:05     Ошибка вывода или проги?
Посмотрите здесь:

Циклический сдвиг, ошибка вывода. C++
Ошибка вывода букв C++
ошибка при компиляции проги, использущей шаблоны классов C++
C++ Массив. Ошибка вывода
ошибка вывода C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
14.10.2010, 00:18     Ошибка вывода или проги? #2
C++
1
2
const N=3;
const K=4;
а надо

C++
1
2
const int N=3;
const int K=4;
Eriadan
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 16
14.10.2010, 00:42  [ТС]     Ошибка вывода или проги? #3
Не-а. Не оно. Все равно то же самое((
StUser
11 / 11 / 1
Регистрация: 09.10.2010
Сообщений: 23
14.10.2010, 00:43     Ошибка вывода или проги? #4
Eriadan
Циклы в строках 30-37 и 40-49 вылазят за пределы массива (A[i+1][j] и A[i][j+1] когда с=0.)
Eriadan
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 16
14.10.2010, 01:01  [ТС]     Ошибка вывода или проги? #5
Все, спасибо, исправил, все норм))
Yandex
Объявления
14.10.2010, 01:01     Ошибка вывода или проги?
Ответ Создать тему
Опции темы

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