Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Скажите, пожалуйста, почему в сортированном массиве, элемент 0х3 такое большое число? - C++

27.04.2012, 13:37. Просмотров 303. Ответов 3
Метки нет (Все метки)

Добрый день. Скажите, пожалуйста, почему в сортированном массиве, элемент 0х3 такое большое число?
Ведь диапазон значений 58. Такая проблема появилась когда начал формировать массив B[4].
C++ (Qt)
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{textbackground(0);
clrscr();
randomize();
int ARR[4][4]/*={1,2,4,3,5,6,4,7,8,5,4,26,3,6,3,9}*/,i,j,s=0,tmp,B[4];
window(5,5,20,10);
textbackground(RED);
textcolor(YELLOW);
gotoxy(5,5);
clrscr();
randomize();
//napovnenia masivy
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)ARR[i][j]=random(58);
}
//sortirovka
for(int k=0;k<16;k++)
{
for(i=0;i<4;i++)
{
 for(j=0;j<4;j++)
 {
  if(ARR[i][j]<ARR[i+1][j])
  {
   tmp=ARR[i][j];
   ARR[i][j]=ARR[i+1][j];
   ARR[i+1][j]=tmp;
  }
 }
}
}
//vivod
for(i=0;i<4;i++)
{
gotoxy(3,3+i);
 for(j=0;j<4;j++)
 {
 cprintf("%2d ",ARR[i][j]);
 }
cprintf("\n");
}
//syma
for(j=0;j<4;j++)
{
 s=0;
 for(i=0;i<4;i++)
 {
 s=s+ARR[i][j]/2;
 B[j]=s;
 }
}
window(22,5,30,10);
textcolor(YELLOW);
textbackground(RED);
clrscr();
gotoxy(1,2);
for(i=0;i<4;i++)cprintf("%2i\r\n",B[i]);
getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2012, 13:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Скажите, пожалуйста, почему в сортированном массиве, элемент 0х3 такое большое число? (C++):

В массиве найти самое большое симметричное число - C++
Здравствуйте! Помогите, пожалуйста, с задачей: в целочисленном массиве найти самое большое симметричное число.

Найти в массиве самое большое число и заменить его на 9 - C++
3. Ввести с клавиатуры массив из К чисел (К также вводится с клавиатуры). Затем найти в нем самое большое число и заменить его на 9....

Почему в j передается такое же число как в i - C++
Объясните пожалуйста почему в j передается такое же значение как в i PS. При пошаговом проходе кода можно увидеть что после прохода...

скажите что такое может быть? - C++
у меня Dev-C++ работает всё нормально,но когда компилирую любую программу выходит чёрный экран а на нём данные написаны но кракозяброй...

В массиве после каждого числа, состоящего из одинаковых цифр, вставить еще одно такое же число - C++
В массиве целых положительных чисел после каждого числа, состоящего из одинаковых цифр, вставить еще одно такое же число. Зараннее...

Почему такое маленькое комьюнити у C++ / CLI, а у C# большое? - C++/CLI WinForms
C# - это только .NET. C++ / CLI - это .NET и еще STL (ну и WinAPI, Boost и все прочее неуправляемое). Для примера. Вот как отловить...

3
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,590
27.04.2012, 14:02 #2
Цитата Сообщение от ATNC Посмотреть сообщение
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for(int k=0;k<16;k++)
{
for(i=0;i<4;i++)
{
 for(j=0;j<4;j++)
 {
  if(ARR[i][j]<ARR[i+1][j])
  {
   tmp=ARR[i][j];
   ARR[i][j]=ARR[i+1][j];
   ARR[i+1][j]=tmp;
  }
 }
}
что по вашему находится в ARR[4][j] ?
0
amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 240
27.04.2012, 14:08 #3
for(int k=0;k<16;k++)
{
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(ARR[i][j]<ARR[i+1][j])
{
tmp=ARR[i][j];
ARR[i][j]=ARR[i+1][j];
ARR[i+1][j]=tmp;
}
}
}
}
Думаю, как-то так:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
for(i=0;i<3;i++)
{
 for(j=i;j<4;j++)
 {
  if(ARR[i][j]<ARR[i+1][j])
  {
   tmp=ARR[i][j];
   ARR[i][j]=ARR[i+1][j];
   ARR[i+1][j]=tmp;
  }
 }
}
1
ATNC
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 5
27.04.2012, 14:22  [ТС] #4
amfisat, Спасибо!
0
27.04.2012, 14:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2012, 14:22
Привет! Вот еще темы с ответами:

Скажите, пожалуйста, почему программа зациклилась? - C (СИ)
#include&lt;stdio.h&gt; #include&lt;math.h&gt; int main() { int c,st=2,a,mn=2,b,chisl,znam; float t=.0; clrscr(); puts(&quot;vv c,a,b&quot;); ...

Люди скажите пожалуйста почему иконки стали стандартные? - Windows XP
Такая проблема при установки любой Windows xp у меня меняются иконки на стандартные что делать?Что бы вернуть нормальные иконки?

Подскажите пожалуйста не пойму почему в массиве почему в массиве храниться только первая запись - PHP БД
Подскажите пожалуйста не пойму почему в массиве почему в массиве храниться только первая запись $sql = &quot;SELECT * FROM `cat` &quot;; $query...

Скажите пожалуйста почему ноутбук Toshiba Satellite a300 перезагружается при запуске - Ремонт ноутбуков
Скажите пожалуйста почему ноутбук Toshiba Satellite a300 перезагружается при запуске. В безопасном режиме и Live CD запускается. при...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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