Ciao....prima di tutto quando si deve postare del codice, bisogna usare l'apposito tag (#).
Poi è sempre meglio dare al codice un pò d'indentazione, in maniera da renderlo un pò più leggibile, altrimenti è anche più difficile aiutarti.
Questo è il codice che hai scritto tu:
codice:
#include <iostream>
using namespace std;
void leggi_mat(int m[100][100], int &c, int&r);
void ins_riga(int m[][100],int r,int c, int postox);
int main()
{
int m[100][100];
int postox=0,r,c,x,y;
cout<<"righe=";
cin>>r;
cout<<"colonne=";
cin>>c;
leggi_mat(m,r,c);
cout<<"postox";
cin>>postox;
ins_riga(m,r,c,postox);
system("PAUSE");
}
void leggi_mat(int m[100][100], int &c, int&r)
{
int i,j;
for(i=0;i<r;i++)
for(j=0;j<c;j++)
{
cout<<"m["<<i<<"]["<<j<<"]";
cin>>m[i][j];
}
}
void ins_riga(int m[100][100],int r,int c, int postox)
{
int i,temp,k,j;
for(k=0;k<c;k++)
cin>>m[postox][k];
for (i=postox;i<r;i++)
{
for(j=0;j<c;j++)
i=r;
m[postox][j]=m[postox+1][j];
}
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
cout<<m[i][j]<<"\t";
cout<<endl;
}
}
Se esegui la parte di codice segnata in rosso prima di spostare le altre, i precedenti valori della riga di indice postox vanno persi. Quindi prima devi spostare le righe e poi acquisire i valori della nuova riga.
Un consiglio: in queste situazioni conviene sempre cominciare lo spostamento dalla penultima riga.