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

Массив. Помогите доработать код, подскажите где ошибки. - C++

Восстановить пароль Регистрация
 
Assign_me_plz
5 / 5 / 0
Регистрация: 05.06.2011
Сообщений: 40
21.10.2011, 01:01     Массив. Помогите доработать код, подскажите где ошибки. #1
Сама задача проста: Есть массив, состоящий из натуральных чисел, поделенный на 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
#include<math.h>
#include<stdio.h>
#include<conio.h>
 
void main()
int n;
printf("Input the dimension of array: ");
scanf("f%", &n);
if ((n%2)!=0) printf("with this n we can't do what we want ");
else                                                          
float mas [100][100];
for (i=0,i<=(n-1),i++)
{for (j=0,j<=(n-1), j++)
 {mas[i][j] = 1+rand()%10}};
 
float t;
int j;
printf("let's see our array");
printf("/n");
for (j=0, i<=(n-1), i++)
{for (i=0, j<=(n-1), j++)
{printf("/t",mas[i][j]);}
printf("/n");}
printf("let's swap the blocks of our array");
for (i = 0 ,i<=(n-2)/2 , i++)
{ for (j = 0, j<=(n-2)/2 , j++);
{t=mas[i][j];
mas[i][j]=mas[i+n/2][j+n/2];
mas[i+n/2][j+n/2]=t;
}}
for (i = ((n-2)/2) , i<=n-1 , i++)
{ for (j = ((n-2)/2) ,j<=n-1, j++)
{t=mas[i][j];
mas[i][j]=mas[i-n/2][j+n/2];
mas[i-n/2][j+n/2]=t;
}
getch();
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2011, 01:01     Массив. Помогите доработать код, подскажите где ошибки.
Посмотрите здесь:

C++ структуры (подскажите где ошибки)
структуры подскажите где ошибки C++
C++ Подскажите где ошибки..
C++ Атоморфные числа, С++, помогите доработать код
C++ Помогите доработать код.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
21.10.2011, 13:58     Массив. Помогите доработать код, подскажите где ошибки. #2
Цикл for имеет такой формат:
for(x ; y ; z)
а не
for(x , y , z)
Assign_me_plz
5 / 5 / 0
Регистрация: 05.06.2011
Сообщений: 40
04.11.2011, 10:55  [ТС]     Массив. Помогите доработать код, подскажите где ошибки. #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
#include<math.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
 
int main()
{ int n,i,j,u;
  int mas[100][100];
  printf("Input the dimension of array: ");
  scanf("%i", &n);
if ((n%2)!=0) 
{
printf("with this n=%d we can't do what we want ",n);
return 0;
}                                                         
  for ( i=0; i<=(n-1); i++)
{
for (j=0; j<=(n-1); j++)
{ 
mas[i][j]=1+rand()%10;    
}
};
    printf("let's see our array");
for (i=0; i<=(n-1); i++)
{
for (j=0; j<=(n-1); j++)   
{ printf(" ",mas[i][j]);}
   printf();
}
   printf("let's swap the blocks of our array");
for (i = 0; i<=(n-2)/2;i++)
{ 
for (j = 0; j<=(n-2)/2; j++);
{ 
    u=mas[i][j];
    mas[i][j]=mas[i+n/2][j+n/2];
    mas[i+n/2][j+n/2]=u;
}
}
for (i = ((n-2)/2); i<=n-1; i++)
{ 
for (j = ((n-2)/2); j<=n-1; j++)
{
    u=mas[i][j];
    mas[i][j]=mas[i-n/2][j+n/2];
    mas[i-n/2][j+n/2]=u;
}
}
getch();
    return 0;
}
Подскажите, почему не показывает результат работы программы на экране?
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
04.11.2011, 12:56     Массив. Помогите доработать код, подскажите где ошибки. #4
Цитата Сообщение от Assign_me_plz Посмотреть сообщение
Подскажите, почему не показывает результат работы программы на экране?
24 - 30 замените и добавьте этот блок после 49
C
1
2
3
4
5
6
7
printf("let's see our array\n");
for (i = 0;  i <= n - 1; ++i){
    printf("\n");
 
    for (j = 0;  j <= n - 1; ++j)   
        printf("%i  ", mas[ i ][ j ]);
}
Assign_me_plz
5 / 5 / 0
Регистрация: 05.06.2011
Сообщений: 40
17.11.2011, 21:23  [ТС]     Массив. Помогите доработать код, подскажите где ошибки. #5
Теперь программа выдает какую-то муть после выполнения действий с блоками, подскажите, с чем это может быть связано?
Миниатюры
Массив. Помогите доработать код, подскажите где ошибки.  
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
17.11.2011, 23:41     Массив. Помогите доработать код, подскажите где ошибки. #6
Цитата Сообщение от Assign_me_plz Посмотреть сообщение
Теперь программа выдает какую-то муть после выполнения действий с блоками, подскажите, с чем это может быть связано?
что - то напутали или не учли в алгоритме программы.
Assign_me_plz
5 / 5 / 0
Регистрация: 05.06.2011
Сообщений: 40
09.12.2011, 13:09  [ТС]     Массив. Помогите доработать код, подскажите где ошибки. #7
Думаете я этого не понял?
Такой результат возникает после выполнения перестановки, гляньте пожалуйста, что с самим циклом, что не правильно сделал?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2011, 16:34     Массив. Помогите доработать код, подскажите где ошибки.
Еще ссылки по теме:

Здравствуйте, подскажите пожалуйста, где я допустил ошибку(При вынесении кода в отдельную функцию, выдает ошибки) C++
C++ Подскажите, где ошибки в программе
Двумерный массив, поиск локального минимума - доработать код C++

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

Или воспользуйтесь поиском по форуму:
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
09.12.2011, 16:34     Массив. Помогите доработать код, подскажите где ошибки. #8
для квадратных матриц с четной размерностью
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void swap(int **m, int s)
{
    int t = s / 2;
    int k;
    int a;
 
    for ( int i = 0; i < t; ++i)
        for ( int j = 0; j < s; ++j)
        {
            k = ( j < t ) ? t : -t;
            a = m[ i ][ j ];
            m [ i ][ j ] = m[ i + t ][ j + k ];
            m[ i + t ][ j + k ] = a;
        }
}
Yandex
Объявления
09.12.2011, 16:34     Массив. Помогите доработать код, подскажите где ошибки.
Ответ Создать тему
Опции темы

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