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

> Внимание!

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

 
 Ответить  Открыть новую тему 
> Упорядочивание строк матрицы..., С
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Женский

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


написать программу которая упорядочивает строки прямоугольной целочисленной матрицы по возрастанию сумм их элементов
найти номер первого из столбцов не содержащего ни одного отрицательного элеметна

ПОМОГИТЕ ИСПРАВИТЬ ОШИБКИ

#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <iomanip.h>
int main() {;
int nrow, ncol;
nrow=3;
ncol=3;


int i,j;
int **a= new int *[nrow]; //выделение памяти под массив
for(i=0; i<nrow; i++) a[i]=new int [ncol];
cout<<"введите элементы массива : " <<endl;

for(i=0; i<nrow; i++) //ввод массива
for(j=0; j<ncol; j++) cin >>a[i][j];
for (i=0; i<nrow; i++) {

int *sum=new int[nrow]; //массив элементов строк
for(i=0; i<nrow; i++) {

sum[i] =0;
for (j=0; j<ncol; j++)
sum[i]=sum[i]+a[i][j];
}
for (i=0; i<nrow; i++) { //контрольный вывод

for (j=0; j<<ncol; j++) cout <<setw(4)<<a[i][j]<< " ";
cout<< sum[i]<< endl;
}
cout<<endl;
long buf_sum;
int nmin,buf_a;
for (i=0; i<nrow-1; i++) { //упорядочивание
nmin =i;
for (j=i+1; j<nrow; j++)
if (sum[j]<sum[nmin]) nmin=j;
buf_sum=sum[i]; sum[i]=sum[nmin]; sum[nmin]=buf_sum;
for (j=0; j<ncol; j++) {
buf_a =a[i][j]; a[i][j]= a[nmin][j]; a[nmin][j]=buf_a;
}
}
for (i=0; i<nrow; i++) { //вывод упорядоченной матрицы
for (j=0; j<ncol; j++) cout <<setw(4)<< a[i][j]<<" ";
cout <<endl;
}
for (i=0; i<nrow; i++) {
int nom=1;
int fl=1;
for (j=0; j<ncol; j++)

if ( a[i][j]<0 ) { fl=0; break; }

nom=j;

cout<<" номер столбца ";
cin >> nom;

getche();

return 0;

}


 ! 
Ирин, тебе будет очень приятно, если в ТВОЮ тему будут бросать чужие вопросы? Я думаю, что НЕТ. Больше разделять темы не буду. Буду просто удалять твои вопросы, опубликованные в чужих темах. Это понятно?

Использование тегов, кстати, для тебя ПЕРСОНАЛЬНО, никто не отменял, так что будь добра их использовать.

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


Гость






#include <conio.h>

#include <iostream.h>
#include <iomanip.h>

template <class T>
void swap(T& a, T& b) {
T temp = a;
a = b;
b = temp;
}


int main() {

const int nrow = 3;
const int ncol = 3;

int i,j;

int **a = new int* [nrow];
cout << "enter the array: " << endl;

for(i=0; i<nrow; i++) {
a[i] = new int [ncol];
for(j=0; j<ncol; j++) cin >> a[i][j];
}

int *sum = new int[nrow];
for(i = 0; i < nrow; i++) {
sum[i] = 0;
for(j = 0; j < ncol; j++) {
cout << setw(4) << a[i][j] << " ";
sum[i] += a[i][j];
}
cout<< sum[i] << endl;
}

cout << endl;

for(i = 0; i < nrow - 1; i++) {
int nmin = i;
for(j = i+1; j < nrow; j++)
if(sum[j] < sum[nmin]) nmin = j;

swap(sum[i], sum[nmin]);

for (j=0; j<ncol; j++)
swap(a[i][j], a[nmin][j]);
}

for (i=0; i<nrow; i++) {
for (j=0; j<ncol; j++) cout << setw(4) << a[i][j] << " ";
cout <<endl;
}

int nom = -1;
for(j = 0; j < ncol; ++j) {

int count = 0;
for (i = 0; i < nrow; i++)
if(a[i][j] < 0) ++count;

if(!count)
if(nom == -1) nom = j;
}

cout << " col number = " << nom << endl;

// Не забываем удалять матрицу !!!

getche();
return 0;
}
 К началу страницы 
+ Ответить 

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

 




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