Код:
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
int main()
{
ifstream fin ("Input.txt");
ofstream fout ("Output.txt");
char First[12];
fin.getline(First,12);
int N,A,B,C,D;
int ArrayOfSpaces[12];
int count=0;
for(int i=1; i<12;i++)
{
if(First[i]==' '){
ArrayOfSpaces[count]=i;
count++;}
if(First[i]=='\0'){
ArrayOfSpaces[count]=i;
count++;}
}
int forN=ArrayOfSpaces[0];
int forA=ArrayOfSpaces[1];
int forB=ArrayOfSpaces[2];
if(forN==3) N=(First[forN-3]-48)*100 + (First[forN-2]-48)*10 + (First[forN-1]-48);
if(forN==2) N=(First[forN-2]-48)*10 + (First[forN-1]-48);
if(forN==1) N=(First[forN-1]-48);
int two;
two=forA-forN-1;
if(two==1) A=(First[forN+1]-48);
if(two==2) A=(First[forN+1]-48)*10 + (First[forN+2]-48);
if(two==3) A=(First[forN+1]-48)*100 + (First[forN+2]-48)*10 + (First[forN+3]-48) ;
int three;
three = forB-forA-1;
if(three==1) B=(First[forA+1]-48);
if(three==2) B=(First[forA+1]-48)*10 +(First[forA+2]-48) ;
if(three==3) B=(First[forA+1]-48)*100 + (First[forA+2]-48)*10 +(First[forA+3]-48);
int ArrayCost[100];
int ArrayOfSpacesTwo[100];
int counttwo=0;
for (int j = 0 ; j<=N-1;j++)
{
fin.getline(First,8);
for(int h=0;h<9;h++)
{
if(First[h]==' ')
{
ArrayOfSpacesTwo[counttwo]=h;
counttwo++;
}
if(First[h]=='\0')
{
ArrayOfSpacesTwo[counttwo]=h;
counttwo++;
}
}
int forC=ArrayOfSpacesTwo[0];
int forD=ArrayOfSpacesTwo[1];
if(forC==3) C=(First[forC-3]-48)*100+(First[forC-2]-48)*10+(First[forC-1]-48);
if(forC==2) C=(First[forC-2]-48)*10 + (First[forC-1]-48);
if(forC==1) C=First[forC-1]-48;
int minusD= forD - forC-1 ;
if(minusD==1) D= ( First[forC+1]-48) ;
if(minusD==2) D=(First[forC+1]-48)*10 + (First[forC+2]-48) ;
if(minusD==3) D=(First[forC+1]-48)*100 + (First[forC+2]-48)*10 + (First[forC+1]-48) ;
cout<<C<<' '<<D<<endl;
ArrayCost[j]=A*C+B*D;
}
int SecondArray[100];
for (int k = 0 ; k<N;k++)
{
SecondArray[k]=ArrayCost[k];
}
for (int p = 0; p<N; ++p)
{
int tmp = 0;
for (int j=(p+1); j<N; ++j)
if (ArrayCost[p]<ArrayCost[j])
{
tmp = ArrayCost[p];
ArrayCost[p] =ArrayCost[j];
ArrayCost[j] = tmp;
}
}
int m=1;
if(ArrayCost[N-1]!=SecondArray[m])
{
m++;
}
else
{
fout << m;
}
system("pause");
return 0;
}
копирую ArrayCost в SecondArray (нужно чтобы был старый вариант массива, и новый отсортированный, а потом сравнить их и найти номер самого маленького числа в первоначальном массиве), но почему-то после сортировки пузырьком, на выходе получается 2 упорядоченных массива О_О ( проверял выводом в консоль обоих массивов ) Я как-то не так копирую массив ?