IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

 
 Ответить  Открыть новую тему 
> Ошибка и предупреждение!ПОМОГИТЕ!, Си\Си++
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Женский
Реальное имя: Катька

Репутация: -  0  +


Помогите, плиз!!!
Написала программу, не знаю, правильно ли… Она должна в прямоугольной матрице упорядочить строки по возрастанию сумм их элементов методом прямого обмена. Например,
12341____________03-121
03-121___________56-302
823-10____=> ____12341
56-302___________823-10
Появляется предупреждение при компиляции программы!!
267:Use qualified name to access nested type ‘ios::seek_dir’
И ещё ошибка:
15:Statement missing
Что делать, как исправить???
#include <iostream.h>
#include <iomanip.h>

//прототипы функций
//функция, суммирющая элементы строк
void SummaStrok(int **a,int m,int n,int *v);
//функция, выполняющая вывод матрицы и суммы элементов в строках
void Vyvod(int **a,int m,int n,int *v);
//функция,выполняющая сортировку строк
void Sort(int **a,int m,int n,int *v);

int main() {
int m,n,i,j;
cout<<"Введите количество строк и столбцов матрицы: "
cin>>m>>n;
int **a=new int *[m]; //выделение памяти
for (i=0;i<m;i++) //под матрицу
a[i]=new int[n];
for (i=0;i<m,i++) //ввод матрицы
for (j=0;j<m,j++)
cin>>a[i][j];
int *v=new int[m]; //вспомогательный массив
SummaStrok(a,m,n,v); //суммирование элементов строк
Vyvod(a,m,n,v); //контрольная печать
Sort(a,m,n,v); //сортировка
Vyvod(a,m,n,v); //вывод результатов
return 0;
}

void SummaStrok(int **a,int m,int n,int *v) {
int i,j;
for (i=0;i<m;i++) {
v[i]=0;
for (j=0;j<n;j++)
v[i]+=a[i][j];
}
}

void Vyvod(int **a,int m,int n,int *v) {
int i,j;
for (i=0;i<m;i++) {
for (j=0;i<n;j++)
cout<<setw(4)<<a[i][j]<<" ";
cout<<endl;
}
}

//сортировка строк матрицы методом прямого обмена
void Sort(int **a,int m,int n,int *v) {
long buf_sum;
int buf_a,temp;
int i,j;
for (i=m-1;i;i--)
for (j=0;j<i;j++)
if (v[j]>v[j+1]){
buf_sum=v[i]; //обмен значений v
v[i]=v[i+1];
v[i+1]=buf_sum;
}
for (j=0;j<n;j++) { //перестановка строк матрицы a
buf_a=a[i][j];
a[i][j]=a[i+1][j];
a[i+1][j]=buf_a;
}
}

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Ну, 267-ой строки у тебя тут нет и в помине, так что неясно откуда вообще взялось то предупреждение, а вот насчет ошибки - она же еще и не одна. Ты забыла поставить ";" после строки:
cout<<"Введите количество строк и столбцов матрицы: "
, и еще здесь (нужны "точки с запятой" вместо "запятых")
for (i=0;i<m;i++)	 //ввод матрицы
for (j=0;j<m;j++)
cin>>a[i][j];


P.S. Компилятор какой?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Женский
Реальное имя: Катька

Репутация: -  0  +


Цитата(volvo @ 21.05.2006 20:30) *

P.S. Компилятор какой?

Исправила,спасибо. А какой компилятор, я не знаю...
Всё равно это дурацкое предупреждение!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 18.12.2017 21:49
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"