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

проверьте что не так в коде? - C++

Восстановить пароль Регистрация
 
lizochka74
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 21
21.10.2012, 16:44     проверьте что не так в коде? #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
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
 
int main()
{
  int i,j,n=9;  
  int a[9][9];
    srand(time(NULL));
      for (i=0,i<n,++i)
      for (j=0,j<n,++j)
        {
         a[i][j]=rand ()%100;
         printf("%d ";a[i][j]);
        }
for (i=0,i<9,++i)
    for (j=0,j<9,++j)
        if (i=j,j=n-i);
    
    for (i=0; i<n; ++i)
    {
    for (j=0,j<9,++j)
    printf ("%d ",a[i][j]);
    }
    printf ("\n");
  return 0;
  }
Borland ругается и пишет Ошибка E2378 lab2.cpp 10: Для заявления отсутствует, в функции Main ()
Ошибка E2378 lab2.cpp 22: Для заявления отсутствует, в функции Main ()
Предупреждение W8080 lab2.cpp 27: «а» объявлена, но никогда не используется в функции Main ()
*** 2 ошибки в компиляции ***
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2012, 16:44     проверьте что не так в коде?
Посмотрите здесь:

C++ Не понимаю,что не так в коде
C++ что в коде не так?
что в коде не так? C++
ЧТо не так в коде? C++
Что не так в коде? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
21.10.2012, 17:16     проверьте что не так в коде? #2
Исправил только синтаксичиские ошибки, вот:
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
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
 
int main()
{
int i,j;
int n = 9;
int a[9][9];
srand(time(NULL));
for (i = 0; i < n; i++)
{
    for (j = 0; j < n; j++)
    {
        a[i][j] = rand ()%100;
        printf("%d ",a[i][j]);
    }}
for (i = 0; i < 9; i++)
{
    for (j = 0; j < 9; j++)
    {
        if (i = j)
        {
              j=n-i;
        }}}
 
for (i = 0; i < n; i++)
{
    for (j = 0; j < 9; j++)
    {
        printf ("%d ",a[i][j]);
        }}
printf ("\n");
return 0;
}
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
21.10.2012, 17:18     проверьте что не так в коде? #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
#include <stdlib.h>
 #include <stdio.h>
 #include <time.h>
 
 int main()
 {
 int i,j,n=9; 
 int a[9][9];
 srand(time(NULL));
 
   for (i=0; i<n; ++i){
     for (j=0; j<n; ++j){
      a[i][j]=rand ()%100;
      printf("%d ",a[i][j]);
 }
     printf("\n");
   }
 for (i=0; i<9; ++i){
 for (j=0; j<9; ++j)
 if (i=j,j=n-i);
 }
 for (i=0; i<n; ++i)
 {
 for (j=0;j<9;++j)
 printf ("%d ",a[i][j]);
 }
 printf ("\n");
 return 0;
 }
polyaKIDze
63 / 63 / 12
Регистрация: 16.07.2012
Сообщений: 147
21.10.2012, 17:28     проверьте что не так в коде? #4
lizochka74, увы, это не возможно. В коде один незначащий мусор. К примеру,
Цитата Сообщение от lizochka74 Посмотреть сообщение
C++
1
if (i=j,j=n-i);
Внутри if должно быть логическое выражение: например,
C++
1
if ((i == j) && (i == n - j))
Также у вас стоит точка с запятой после оператора сравнения, следовательно, ничего не произойдёт вне зависимости от результата выражения.
Если вы хотя бы напишете, что ДОЛЖНА сделать программа, тогда получите помощь.

Добавлено через 2 минуты
Евгений89, я думаю, тупо исправить ошибки в синтаксисе мало. Вам не кажется программа слегка странной?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.10.2012, 17:47     проверьте что не так в коде? #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
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
 
 int main()
 {
 int i, j, n = 9; 
 int a[9][9];
 srand(time(NULL));
 
for (i = 0; i < n; ++i)
{
     for (j = 0; j < n; ++j)
     {
      a[i][j] = rand () % 100;
      printf("%d ", a[i][j]);
     }
     printf("\n");
}
 
for (i = 0; i < 9; ++i)
{
    for (j = 0; j < 9; ++j)
        if (i == j) a[i][j] = n - i;
}
 
printf("\n");
 
for (i = 0; i < n; ++i)
{ 
    for (j = 0;j < 9; ++j)
        printf("%d ", a[i][j]);
    printf("\n");
}
 
 getchar();
 return 0;
 }
lizochka74
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 21
21.10.2012, 17:52  [ТС]     проверьте что не так в коде? #6
polyaKIDze, нужно чтобы матрица размерностью 9 на 9, повернулась на 90 градусов по часовой стрелке)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2012, 18:46     проверьте что не так в коде?
Еще ссылки по теме:

C++ Что не так в коде?
C++ проверьте что не так
C++ Проверьте пожалуйста, что не так?

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

Или воспользуйтесь поиском по форуму:
polyaKIDze
63 / 63 / 12
Регистрация: 16.07.2012
Сообщений: 147
21.10.2012, 18:46     проверьте что не так в коде? #7
lizochka74, идея в том, чтобы придумать такое преобразование индексов, при котором матрица повернется так, как надо нам. Вот мой способ:
[i][j]-ый элемент становится [j][n-(i+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
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
 
 int main()
 {
 int i, j, n = 9; 
 int a[n][n];
 srand(time(NULL));
 
for (i = 0; i < n; ++i)
{
     for (j = 0; j < n; ++j)
     {
      a[i][j] = i + j; //rand () % 100;
      printf("%d\t", a[i][j]);
     }
     printf("\n");
}
printf ("\n");
 
int k, q;
int b[n][n];
for (i = 0; i < n; ++i)
{
    for (j = 0; j < n; ++j) 
    {
        k = i; q = j;
        b[q][n - (k + 1)] = a[i][j];
    }   
}
for (i = 0; i < n; ++i)
{
    for (j = 0; j < n; ++j) 
    {
        printf ("%d\t", b[i][j]);
    } 
printf("\n");      
}
 
return 0;
}
Yandex
Объявления
21.10.2012, 18:46     проверьте что не так в коде?
Ответ Создать тему
Опции темы

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