Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Учусь...
 Аватар для lp_4eva
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167

Переписать код для обращения к элементам матрицы, находящимся выше главной диагонали

04.02.2011, 19:51. Показов 3418. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Тут пример решения матрицы который содержит нули ниже главной диагонали; А мне нужно сделать наоборот выше главной диагонали

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
/********************** Файл LAB2.H   *************************/
/*     Описание функций и внешних переменных файла LAB2.C     */
extern int L2_RESULT;   /* Глобальна переменна - флаг ошибки */
/***** Выделение памяти под матрицу */
int creat_matr ( int N );
/***** Чтение элемента матрицы по заданным координатам */
int read_matr ( int x, int y );
/***** Запись элемент в матрицу по заданным координатам */
int write_matr ( int x, int y, int value );
/***** Уничтожение матрицы */
int close_matr ( void );
/***************** Конец файла LAB2.H   *************************/
 
/************************* Файл LAB2.C *************************/
/* В этом файле определены функции и переменные для обработки
   матрицы, заполненной нулями ниже главной диагонали          */
#include <alloc.h>
static int NN;                          /* Размерность матрицы */
static int SIZE;                              /* Размер памяти */
static int *m_addr=NULL;               /* Адрес сжатой матрицы */
static int lin(int, int);     /* Описание функции линеаризации */
static char ch_coord(int, int);   /* Описание функции проверки */
int L2_RESULT;              /* Внешняя переменная, флаг ошибки */
 
/*********************************************************/
/*            Выделение памяти под сжатую матрицу        */
int creat_matr ( int N ) {
   /* N - размер матрицы */
   NN=N;
   SIZE=N*(N-1)/2+N;
   if ((m_addr=(int *)malloc(SIZE*sizeof(int))) == NULL )
      return L2_RESULT=-1;
   else
      return L2_RESULT=0;
/* Возвращает 0, если выделение прошло успешно, иначе -1 */
}
/**************************************************************/
/*       Уничтожение матрицы (освобождение памяти)            */
int close_matr(void) {
   if ( m_addr!=NULL ) {
      free(m_addr);
      m_addr=NULL;
      return L2_RESULT=0;
      }
   else return L2_RESULT=-1;
/*  Возвращает 0, если освобождение пршло успешно, иначе - -1  */
}
/***********************************************************/
/*     Чтение элемента матрицы по заданным координатам     */
int read_matr(int x, int y) {
   /* x, y -координати (строка, столбец) */
   if ( ch_coord(x,y) ) return 0;
   /* Если координаты попадают в нулевой участок - возвращается
      0, иначе - применяется функция линеаризации */
   return (x > y) ? 0 : m_addr[lin(x,y)];
   /* Проверка успешности чтения - по переменной
      L2_RESULT:  0 - без ошибок, -1 - была ошибка */
}
 
/*************************************************************/
/*      Запись элемента матрицы по заданным координатам      */
int write_matr(int x, int y, int value) {
   /* x, y -координати, value - записываемое значение */
   if ( chcoord(x,y) ) return;
   /* Если координаты попадают в нулевой участок - записи нет, 
      иначе - применяется функция линеаризации */
   if ( x > y ) return 0;
   else return m_addr[lin(x,y)]=value;
   /* Проверка успешности записи - по L2_RESULT */
}
 
/************************************************************/
/*       Преобразование 2-мерних координат в линейную       */
/*                      (вариант 3)                         */
static int lin(int x, int y) {
   int n;
    n=NN-x;
   return SIZE-n*(n-1)/2-n+y-x;
}
 
/***************************************************************/
/*                  Проверка корректности обращения            */
static char ch_coord(int x, int y) {
   if ( ( m_addr==NULL ) ||
        ( x>SIZE ) || ( y>SIZE ) || ( x<0 ) || ( y<0 ) )
      /* Если матрица не размещена в памяти, или заданные
         координаты выходят за пределы матрицы */
       return L2_RESULT=-1;
    return L2_RESULT=0;
}
/*********************Конец файла LAB2.C ***********************/
 
/************************ Файл MAIN2.C **************************/
/* "Программа пользователя" */
#include "lab2.h"
main(){
 int R;    /* размерность */
 int i, j; /* номера строки и столбца */
 int m;    /* значения элемента */
 int op;   /* операция */
  clrscr();
  printf('Введите размерность матрицы >'); scanf("%d",R);
  /* создание матрицы */
  if ( creat_matr (R) ) {
     printf("Ошибка создания матрицы\n");
     exit(0);
     }
  /* заполнение матрицы */
  for ( m=j=0; j<R; j++)
     for ( i=о; i<R; i++)
           write_matr(i,j,++m);
   while(1) {
      /* вывод матрицы на экран */
      clrscr();
      for (j=0; j<R; j++) {
         for (i=0; i<R; i++)
            printf("%3d ",read_matr(i,j));
            printf("\n");
         }
      printf("0 - выход\n1 - чтение\n2 - запись\n>")
      scanf("%d",&op);
      switch(op) {
        case 0:
          if (close_matr()) printf("Ошибка при уничтожении\n");
          else printf("Матрица уничтожена\n");
          exit(0);
        case 1: case 2:
          printf("Введите номер строки >");
          scanf("%d",&j);
          printf("Введите номер столбца >");
          scanf("%d",&i);
          if (op==2) {
             printf("Введите значение элемента >");
             scanf("%d",&m);
             write_matr(j,i,m);
             if (L2_RESULT<0) pritnf("Ошибка записи\n");
             }
          else {
             m=read_matr(j,i);
             if (L2_RESULT<0) pritnf("Ошибка считывания\n");
             else printf("Считано: %d\n",m);
             }
          printf("Нажмите клавишу\n"); getch();
          break;
        }
      }
}
/********************Конец файла MAIN2.C **********************/
Помогите пожалуйста подскажите что и где нужно поменять?

Добавлено через 47 минут
Я понимаю что у вас есть и более важные дела, но пожалуйста если это для вас не тяжело помогите пожалуйста

Тут наверняка есть супер мега программисты...для них ведь это расплюнуть
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.02.2011, 19:51
Ответы с готовыми решениями:

Присвоить элементам матрицы, находящимся выше главной диагонали значение на единицу больше
Доброй ночи/утра всем! Я новичок в питоне. У меня такая тривиальная задача: Дана квадратная матрица порядка n, заполненная случайными...

Присвоить начальным элементам последовательности значения элементов матрицы выше главной диагонали
Дана матрица B из N строк и N столбцов. Если в матрице B элемент с максимальным значением (среди всех элементов этой матрицы) лежит на...

Определить минимальный элемент матрицы, лежащий выше главной диагонали, которой затем прибывляется ко всем элементам первого столбца
Разобрать и отладить код программы, в которой: 1) с помощью типизированной константы вводятся значения элементов целочисленной матрицы M,...

18
236 / 173 / 25
Регистрация: 13.11.2010
Сообщений: 425
04.02.2011, 21:00
А поясните, что значит решение матрицы? И где в этом коде конкретно оно производится?
0
Учусь...
 Аватар для lp_4eva
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
04.02.2011, 21:05  [ТС]
almazsr,
Вот постановка задачи:
Для разряженной матрицы целых чисел в соответствии с индивидуальным заданием создать модуль доступа к ней, у котором обеспечить экономию памяти при размещении данных.

Функция write_matr предназначена для записи элемента в матрицу. Прототип функции:
int write_matr(int x, int y, int value);
где x и y - координаты (строка и столбец), value - то значение, которое нужно записать. Функция возвращает значение параметра value, или 0 - если была попытка записи в нулевой участок. Если после выполнения функции значение переменной L2_RESULT -1, то это указывает на ошибку при обращении.

Выполнение функции подобно функции read_matr с тем отличием, что, если координаты указывают на ненулевой участок, то функция записывает value в массив m_addr.

Функция ch_coord предназначена для проверки корректности задания координат. Эта функция описана как static и поэтому может вызываться только из этого же модуля. Прототип функции:
static char ch_coord(int x, int y);
где x и y - координаты (строка и столбец). Функция возвращает 0, если координаты верные, -1 - если неверные. Соответственно, функция также устанавливает значение глобальной переменной L2_RESULT.

Функция lin предназначена для преобразования двумерных координат в индекс в одномерном массиве. Эта функция описана как static и поэтому может вызываться только из этого же модуля. Прототип функции:
static int lin(int x, int y);
где x и y - координаты (строка и столбец). Функция возвращает координату в массиве m_addr.
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
04.02.2011, 21:52
C++
1
2
3
4
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
if(условие)
операция;
1
Учусь...
 Аватар для lp_4eva
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
04.02.2011, 22:07  [ТС]
тут такое дело просто я в прогромирований чайник так что пожалуйста если тебя это сильно не затруднит мог бы ты объяснить куда мне этот цикл написать и еще условия и действия я что-то не вникаю что туда писать
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
04.02.2011, 22:31
lp_4eva, скажи мне где тут код для "ниже главной диагонали" и скажу куда вставить этот код
1
Учусь...
 Аватар для lp_4eva
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
04.02.2011, 22:51  [ТС]
^Tecktonik_KiLLeR,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/***********************************************************/
/*     Чтение элемента матрицы по заданным координатам     */
int read_matr(int x, int y) {
   /* x, y -координати (строка, столбец) */
   if ( ch_coord(x,y) ) return 0;
   /* Если координаты попадают в нулевой участок - возвращается
      0, иначе - применяется функция линеаризации */
   return (x > y) ? 0 : m_addr[lin(x,y)];
   /* Проверка успешности чтения - по переменной
      L2_RESULT:  0 - без ошибок, -1 - была ошибка */
}
 
/*************************************************************/
/*                  Проверка корректности обращения            */
static char ch_coord(int x, int y) {
   if ( ( m_addr==NULL ) ||
        ( x>SIZE ) || ( y>SIZE ) || ( x<0 ) || ( y<0 ) )
      /* Если матрица не размещена в памяти, или заданные
         координаты выходят за пределы матрицы */
       return L2_RESULT=-1;
    return L2_RESULT=0;
}
Вот...

Добавлено через 13 минут
P.S: Знаешь вся ирония в том что я сама точно не знаю где/как менять код... Это данный нам пример, просто по счастливому случаю оказалось так что мой вариант схож с примером=) Если вам что-то не понятно можете прочитать здесь http://khpi-iip.mipk.kharkiv.e... spl02.html, честно сама не вникаю в суть) Вот прошу помощи у добрых и отзывчивых людей
0
302 / 160 / 62
Регистрация: 27.02.2010
Сообщений: 317
05.02.2011, 13:02
lp_4eva, А вы пробовали запускать эту программу? Не зню, кто ее вам давал, странно, если преподаватель - в ней такие ошибки встречаются, как использование o вместо 0, перепутаны строки и столбцы матрицы...
Тем не менее в этой программе в матрице нули расположены выше главной диагонали. В таком виде она работает
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include<conio.h>
#include <locale.h>
//********************** Файл LAB2.H   *************************/
/*     Описание функций и внешних переменных файла LAB2.C     */
extern int L2_RESULT;   /* Глобальна переменна - флаг ошибки */
/***** Выделение памяти под матрицу */
int creat_matr ( int N );
/***** Чтение элемента матрицы по заданным координатам */
int read_matr ( int x, int y );
/***** Запись элемент в матрицу по заданным координатам */
int write_matr ( int x, int y, int value );
/***** Уничтожение матрицы */
int close_matr ( void );
/***************** Конец файла LAB2.H   *************************/
 
/************************* Файл LAB2.C *************************/
/* В этом файле определены функции и переменные для обработки
   матрицы, заполненной нулями ниже главной диагонали          */
//#include <alloc.h>
static int NN;                          /* Размерность матрицы */
static int SIZE;                              /* Размер памяти */
static int *m_addr=NULL;               /* Адрес сжатой матрицы */
static int lin(int, int);     /* Описание функции линеаризации */
static char ch_coord(int, int);   /* Описание функции проверки */
//static int getNN () {return NN; };
int L2_RESULT;              /* Внешняя переменная, флаг ошибки */
 
/*********************************************************/
/*            Выделение памяти под сжатую матрицу        */
int creat_matr ( int N ) {
   /* N - размер матрицы */
   NN=N;
   SIZE=N*(N-1)/2+N;
   if ((m_addr=(int *)malloc(SIZE*sizeof(int)))==NULL)
      return L2_RESULT=-1;
   else
      return L2_RESULT=0;
/* Возвращает 0, если выделение прошло успешно, иначе -1 */
}
/**************************************************************/
/*       Уничтожение матрицы (освобождение памяти)            */
int close_matr(void) {
   if ( m_addr!=NULL ) {
      free(m_addr);
      m_addr=NULL;
      return L2_RESULT=0;
      }
   else return L2_RESULT=-1;
/*  Возвращает 0, если освобождение пршло успешно, иначе - -1  */
}
/***********************************************************/
/*     Чтение элемента матрицы по заданным координатам     */
int read_matr(int x, int y) {
   /* x, y -координати (строка, столбец) */
   if ( ch_coord(x,y) ) return 0;
   /* Если координаты попадают в нулевой участок - возвращается
      0, иначе - применяется функция линеаризации */
   return (x > y) ? 0 : m_addr[lin(x,y)];
   /* Проверка успешности чтения - по переменной
      L2_RESULT:  0 - без ошибок, -1 - была ошибка */
}
 
/*************************************************************/
/*      Запись элемента матрицы по заданным координатам      */
int write_matr(int x, int y, int value) {
   /* x, y -координати, value - записываемое значение */
   if ( ch_coord(x,y) ) 
       return 0;
   /* Если координаты попадают в нулевой участок - записи нет, 
      иначе - применяется функция линеаризации */
   if ( x > y )
       return 0;
   else 
       return m_addr[lin(x,y)]=value;
   /* Проверка успешности записи - по L2_RESULT */
}
 
/************************************************************/
/*       Преобразование 2-мерних координат в линейную       */
/*                      (вариант 3)                         */
static int lin(int x, int y) {
   int n;
    n=NN-x;
   return SIZE-n*(n-1)/2-n+y-x;
}
 
/***************************************************************/
/*                  Проверка корректности обращения            */
static char ch_coord(int x, int y) {
   if ( ( m_addr==NULL ) ||
        ( x>SIZE ) || ( y>SIZE ) || ( x<0 ) || ( y<0 ) )
      /* Если матрица не размещена в памяти, или заданные
         координаты выходят за пределы матрицы */
       return L2_RESULT=-1;
    return L2_RESULT=0;
}
/*********************Конец файла LAB2.C ***********************/
 
/************************ Файл MAIN2.C **************************/
/* "Программа пользователя" */
//#include "lab2.h"
void main(){
    setlocale (LC_ALL, "Russian");
 int R;    /* размерность */
 int i, j; /* номера строки и столбца */
 int m=0;    /* значения элемента */
 int op;   /* операция */
 // clrscr();
  printf("Введите размерность матрицы >"); 
  scanf("%d",&R);
  /* создание матрицы */
  if ( creat_matr (R) ) {
     printf("Ошибка создания матрицы\n");
     exit(0);
     }
  /* заполнение матрицы */
  for ( m=j=0; j<R; j++)
     for ( i=0; i<R; i++)
           write_matr(i,j,++m);
   while(1) {
      /* вывод матрицы на экран */
      //clrscr();
      for (j=0; j<R; j++) {
         for (i=0; i<R; i++)
            printf("%3d ",read_matr(i,j));
            printf("\n");
         }
      printf("0 - выход\n1 - чтение\n2 - запись\n>");
      scanf("%d",&op);
      switch(op) {
        case 0:
          if (close_matr()) printf("Ошибка при уничтожении\n");
          else printf("Матрица уничтожена\n");
          exit(0);
        case 1: case 2:
          printf("Введите номер строки >");
          scanf("%d",&i);
          printf("Введите номер столбца >");
          scanf("%d",&j);
          if (op==2) {
             printf("Введите значение элемента >");
             scanf("%d",&m);
             write_matr(j,i,m);
             if (L2_RESULT<0) printf("Ошибка записи\n");
             }
          else {
             m=read_matr(j,i);
             if (L2_RESULT<0) printf("Ошибка считывания\n");
             else printf("Считано: %d\n",m);
             }
          printf("Нажмите клавишу\n"); getch();
          break;
        }
      }
}
/********************Конец файла MAIN2.C **********************/
2
Учусь...
 Аватар для lp_4eva
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
05.02.2011, 13:14  [ТС]
NNN777,он не распознает alloc.h потому что в среде которой я это компилирую то есть средя для с++ visual studeio 2008. из-за этого у меня там ошибки. еще кстати это пример когда ниже диагонали а не выше)))
0
302 / 160 / 62
Регистрация: 27.02.2010
Сообщений: 317
05.02.2011, 13:25
lp_4eva, Попробуйте скомпилировать в вашей VS2008 то, что у меня написано, только в самом начале добавьте
C++
1
#include <iosrteam>
- должно скомпилироваться (матрица выводится на печать, и она содержит 0 выше главной диагонали и не записывает значения тоже выше главной диагонали - значит, все правильно, если я как надо понимаю задачу...). Если вы заметили в моем посте alloc.h закоменчен.
0
Учусь...
 Аватар для lp_4eva
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
05.02.2011, 13:30  [ТС]
Теперь у меня вот такая ошибка

fatal error C1083: Cannot open include file: 'iosrteam': No such file or directory

и еще код должен быть на С а не на С++, может из-за этого. А если main компилировать то вообще получится 41 ошибок, то есть он не распознает ни единой переменной
0
302 / 160 / 62
Регистрация: 27.02.2010
Сообщений: 317
05.02.2011, 13:33
fatal error C1083: Cannot open include file: 'iosrteam': No such file or directory


Cорри! там
C++
1
#include <iostream>
0
Учусь...
 Аватар для lp_4eva
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
05.02.2011, 13:38  [ТС]
А теперь еще хуже 102 ошибок!!!

1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(39) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(39) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(41) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(41) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(41) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(41) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(41) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(41) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(42) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(42) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(42) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(42) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(42) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(42) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(43) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(43) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(43) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(43) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(43) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(43) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(44) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(44) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(44) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(44) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(44) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(44) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(45) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(45) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(45) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(45) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(45) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(45) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(46) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(46) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(46) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(46) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(46) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(46) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(47) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(47) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(47) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(47) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(47) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(47) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(48) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(48) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(48) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(48) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(48) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(48) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(49) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(49) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(49) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(49) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(50) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(50) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(50) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(50) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(51) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(51) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(51) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(51) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(51) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(51) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(52) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(52) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(52) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(52) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(52) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(52) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(53) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(53) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(53) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(53) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(53) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(53) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(54) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(54) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(54) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(54) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(54) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(54) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(55) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(55) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(55) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(55) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(55) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(55) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(56) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(56) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(23) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(23) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(23) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(23) : error C2059: syntax error : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(23) : error C2143: syntax error : missing '{' before ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(23) : fatal error C1003: error count exceeds 100; stopping compilation
1>Build log was saved at "file://c:\Users\User\Documents\Visual Studio 2008\Projects\cyber\cyber\Debug\BuildLog .htm"
1>cyber - 102 error(s), 0 warning(s)
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
05.02.2011, 14:13
Вместо
C++
1
#include <iostream>
вставьте
C
1
#include <stdio.h>
Причем эта строка должна находится в начале файла.
1
Учусь...
 Аватар для lp_4eva
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
05.02.2011, 14:22  [ТС]
ОООО спасибо вышло только вот знаете все равно нули там ниже диагонали а мне нужно совсем наоброт)))
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
05.02.2011, 14:35
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Функция read_matr:
Исправьте
C
1
return (x > y) ? 0 : m_addr[lin(x,y)];
на
C
1
return (x < y) ? 0 : m_addr[lin(x,y)];
Функция write_matr
Исправьте
C
1
if ( x > y )
на
C
1
if ( x < y )
Если не делает то, что хочется - выкладывайте свой рабочий код.
1
Учусь...
 Аватар для lp_4eva
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
05.02.2011, 14:40  [ТС]
Евгений М.,ЕХУУУУУУУУУ ВЫШЛОООООООО!!!!! Ураааааа! Спасибо вам большое!!!!
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
05.02.2011, 14:55
Удачи в учебе.
1
05.02.2011, 14:59  [ТС]

Не по теме:

Спасибо! Побольше бы добрых и отзывчивых людей как вы!)))

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.02.2011, 14:59
Помогаю со студенческими работами здесь

Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и выше побочной диагонали
Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и выше побочной диагонали....

Найти количество нулевых элементов матрицы, стоящих: выше главной диагонали; ниже главной диагонали
Дана квадратная вещественная матрица размерности n. Найти количество нулевых элементов, стоящих: выше главной диагонали; ниже главной...

Найти количество нулевых элементов матрицы, стоящих: выше главной диагонали; ниже главной диагонали
Дана квадратная вещественная матрица размерности n. Найти количество нулевых элементов, стоящих: выше главной диагонали; ниже главной...

Отсортировать элементы выше главной диагонали матрицы по возрастанию, а ниже главной диагонали по убыванию
1) Вводится массив 6*6. Отсортировать элементы выше главной диагонали по возрастанию, а ниже главной диагонали по убыванию.

Найти max ниже главной диагонали, и min выше главной диагонали матрицы
В матрице n-гo порядка найти максимальный среди элементов, лежащих ниже главной диагонали, и минимальный среди элементов, лежащих выше...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru