saeed-rafie
عضو جدید
سلام دوست عزیز کد این برنامه که استاد به عنوان تمرین بهمون داد رو واست میذارم فکر کنم خودت الگوریتمو بتونی بفهمی
#include< iostream>
#include<conio.h>
using namespace std;
void cal(int S[], int n) {
int **P= new int*[n];
for( int j= 0; j< n; j++)
P[j]= new int[n];
int i, j, diag, k= 0, l= 0;
int max= S[0];
for( i= 1; i< n; i++){
P= S;
if( S> max){
max= S;
l= k= i;
}
}
for (diag = 1; diag < n; diag++)
for (i = 0; i < n - diag; i++) {
j = i + diag;
P[j] = P[j - 1] + S[j];
if( P[j]> max){
max= P[j];
l= i;
k= j;
}
}
cout<< "i= "<<l<< "\nj= "<< k<<"\nmax="<< max<< endl;
}
int main(){
int n;
cin>> n;
int *a= new int[n];
for (int i = 0; i < n ; i++) {
cin>> a;
}
cal(a, n);
getch();
}
#include< iostream>
#include<conio.h>
using namespace std;
void cal(int S[], int n) {
int **P= new int*[n];
for( int j= 0; j< n; j++)
P[j]= new int[n];
int i, j, diag, k= 0, l= 0;
int max= S[0];
for( i= 1; i< n; i++){
P= S;
if( S> max){
max= S;
l= k= i;
}
}
for (diag = 1; diag < n; diag++)
for (i = 0; i < n - diag; i++) {
j = i + diag;
P[j] = P[j - 1] + S[j];
if( P[j]> max){
max= P[j];
l= i;
k= j;
}
}
cout<< "i= "<<l<< "\nj= "<< k<<"\nmax="<< max<< endl;
}
int main(){
int n;
cin>> n;
int *a= new int[n];
for (int i = 0; i < n ; i++) {
cin>> a;
}
cal(a, n);
getch();
}
آخرین ویرایش: