Помагите пожайлуста переделать задачи

Ответить
nitrozevs
Сообщения: 14
Зарегистрирован: 13 дек 2009, 15:38

Доброе время суток помагите пожайлуста, дело вот в чём:
я зделал задачу,(код в низу) двумерный массив заполняется случайными числами. Удаляется ПОСЛЕДНЯЯ СТРОКА, В КОТОРОЙ ПЕРВЙ ЭЛЕМЕНТ=ПОСЛЕДНЕМУ.
Мне нужно её переделать
под похожую:
двумерный массив заполняется случайными числами. Удаляется ПОСЛЕДНИЙ СТОЛБЕЦ, В КОТОРОМ ПЕРВЙ ЭЛЕМЕНТ=ПОСЛЕДНЕМУ.
что-то типа:
3 4 6 2 7 совпал [0][3] и [2][3] т.е. первый и последний элемент столбца
3 4 5 6 2
4 5 8 2 3
нужно что б было:
3 4 6 7
3 4 5 2
4 5 8 3
я сам уже пытался переделывать, но он "от балды" удаляет столбцы

Код: Выделить всё

#include<stdlib.h>
#include<iostream.h>
#include<conio.h>
#include<time.h>
#define n 4
#define m 3
main()
{clrscr();
randomize();
int a[n][m],i,j,k,l,p,o,c;
o=10;
k=0;
cout<<"ICXODHbIi MACCIB"<<'\n';
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{a[i][j]=0+rand()%9;};
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
{cout<<a[i][j]<<'\t';};
cout<<'\n';};
cout<<endl;
for (i=n-1;i>=0; i--)
//for(j=0;j<m;j++)
if (a[i][0]==a[i][m-1]) break;// {k=k+1;
			//l=i;};};
if(i==-1) cout<<"Takix ctolbcoB HET"<<'\n';
else{for(i=i;i<n;i++)
      {for(j=0;j<m;j++)
       {a[i][j]=a[i+1][j];};};
cout<<endl;
for(i=0;i<n-1;i++)
{for(j=0;j<m;j++)
{cout<<a[i][j]<<'\t';};
cout<<'\n';};
};
return 0;
}


И ЕЩЁ ОДНО:
В одномерном массиве найти максимальный элемент. Вставить порядковый номер максимального элемента за ним и перед ним.
Код проги я составил, но он(номер) заменяет элемент стоящий перед и после максимума, а нада что нашёлся максимум и что б ВСТАВЛСЯ НОМЕР максимума перед и после максимума(т.е. как бы раздвигал массив)
типа этого:
3 4 6 2 1 5 4 7 9 0 5 4
3 4 6 2 1 5 4 7 8 9 8 0 5 4

Код: Выделить всё

#include<iostream.h>
#include<conio.h>
enum ERR{
    ERRNO=0,
    ERRSIZE=1
};
int main(){
    clrscr();
    float *arr,max;
    int num,i,imax;

    cout<<"array size: ";
    cin>>num;
    if(num<0)
        return ERRSIZE;

    arr=new float[num];
    for(i=0;i<num;i++)
        cin>>arr[i];

    cout<<"before:"<<endl;
    for(i=0;i<num;i++)
        cout<<arr[i]<<' ';
    cout<<endl;

    imax=0,max=arr[0];
    for(i=1;i<num;i++)
        if(max<arr[i])
            max=arr[i],imax=i;

    if(imax<num-1)
        arr[imax+1]=imax;
    if(imax>0)
        arr[imax-1]=imax;

    cout<<"after:"<<endl;
    for(i=0;i<num;i++)
        cout<<arr[i]<<' ';
    cout<<endl;

    cout<<"press any key to continue: ";
    cin.get(),cin.get();
    return ERRNO;                         
}
Ответить