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

Прошу подсказать в чем ошибка - C++

Восстановить пароль Регистрация
 
palach777
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 15
29.10.2010, 17:27     Прошу подсказать в чем ошибка #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
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
main()
{
 const int n=3;
 int mas[n][n];
 int i,j;
 
 //input
 randomize();
 cout<<"Isxodnaya:\n";
 for (i=0;i<n;i++)
 {
  for(j=0;j<n;j++)
   {
     mas[i][j]=random(10);
     cout<<" "<<mas[i][j];
   }
   cout<<endl;
 }
 
  cout<<"Preobrazovannaya:\n";
  for (i=0;i<n;i++)
  {
   for (j=0;j<n;j++)
   {
    mas[i][i]=mas[i][n-i+1];
    cout<<" "<<mas[i][j];
   }
   cout<<endl;
  }
   getch();
  return 0;
 }
Элементы заменяются, только не пойму на что и почему так...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Василий-Робот
TECHNO
 Аватар для Василий-Робот
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
29.10.2010, 18:06     Прошу подсказать в чем ошибка #2
palach777, что-то с #include <iostream>. Оно без "h"

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
#include <iostream>
#include <conio.h>
#include <stdio.h>
int main()
{
int A[100][100],B[10],C[10],n,i,j;
printf("kakoy razmer matrix?\n\ n = "); scanf("%d",&n);
printf("OLD MATRIX:\n");
for (i=1;i<n+1;i++)
{
    for(j=1;j<n+1;j++)
    {
    rand();
    A[i][j]=(int)(rand()%100);
    printf("%3d\t",A[i][j]);
    }
    printf("\n");
}
for (i=1;i<n+1;i++)
{
    for(j=1;j<n+1;j++)
    {
    if(i==j) B[i]=A[i][j];
    if(i+j==n+1) C[i]=A[i][j];
    }
}
for (i=1;i<n+1;i++)
{
    for(j=1;j<n+1;j++)
    {
    if(i==j) A[i][j]=C[i];
    if(i+j==n+1) A[i][j]=B[i];
    }
}
printf("NEW MATRIX:\n");
for (i=1;i<n+1;i++)
{
    for(j=1;j<n+1;j++)
    {
    printf("%3d\t",A[i][j]);
    }
    printf("\n");
}
getch();
return 0;
}
palach777
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 15
29.10.2010, 18:13  [ТС]     Прошу подсказать в чем ошибка #3
У меня пишет ошибку: вызов неопределенной функции rand()
Василий-Робот
TECHNO
 Аватар для Василий-Робот
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
29.10.2010, 18:15     Прошу подсказать в чем ошибка #4
palach777, копируйте код точь-в-точь и ничего не добавляйте. У меня все работает
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
29.10.2010, 18:16     Прошу подсказать в чем ошибка #5
Это под VS
разберешься надеюсь

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 <iostream>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{
 const int n=3;
 int mas[n][n];
 int i,j;
 
 //input
 
 cout<<"Isxodnaya:\n";
 for (i=0;i<n;i++)
 {
  for(j=0;j<n;j++)
   {
     mas[i][j]=rand()%10;
     cout<<" "<<mas[i][j];
   }
   cout<<endl;
 }
 
  cout<<"Preobrazovannaya:\n";
  for (i=0;i<n;i++)
  {
      for(j=0;j<n;j++)
      {
    mas[i][i]=mas[i][(n-i)-1];
    cout<<" "<<mas[i][j];
      }
      cout << endl;
  }
   getch();
  return 0;
 }
palach777
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 15
29.10.2010, 18:24  [ТС]     Прошу подсказать в чем ошибка #6
спасибо, все теперь работает
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
29.10.2010, 18:25     Прошу подсказать в чем ошибка #7
У меня пишет ошибку: вызов неопределенной функции rand()
Твой компиллятор понимает random(10) вместо rand()

тут главное алгоритм:
C++
1
2
3
4
5
6
7
8
9
10
cout<<"Preobrazovannaya:\n";
  for (i=0;i<n;i++)
  {
      for(j=0;j<n;j++)
      {
    mas[i][i]=mas[i][(n-i)-1];
    cout<<" "<<mas[i][j];
      }
      cout << endl;
  }
вместо твоего:
C++
1
2
3
4
5
6
7
8
9
10
cout<<"Preobrazovannaya:\n";
  for (i=0;i<n;i++)
  {
   for (j=0;j<n;j++)
   {
    mas[i][i]=mas[i][n-i+1];
    cout<<" "<<mas[i][j];
   }
   cout<<endl;
  }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2010, 18:59     Прошу подсказать в чем ошибка
Еще ссылки по теме:

в чем ошибка C++
C++ Прошу объяснить о ссылках,указателях,стрелке -> и двоеточиях :: очень прошу я не понял синтаксис

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

Или воспользуйтесь поиском по форуму:
palach777
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 15
29.10.2010, 18:59  [ТС]     Прошу подсказать в чем ошибка #8
Спасибо,я теперь понял, что ошибка была только в неправильно записанной формуле. Интересно то, что такую же программу я написал на паскале с такой же формулой, которую я записал изначально и все работает...
Yandex
Объявления
29.10.2010, 18:59     Прошу подсказать в чем ошибка
Ответ Создать тему
Опции темы

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