Зависимость работы программы от версии visual studio

include «stdafx.h»

include <iostream>

include <string>

using namespace std;

int mec (int a)
{
int b;
if (a==1) b=0;
if (a==2) b=31;
if (a==3) b=59;
if (a==4) b=90;
if (a==5) b=120;
if (a==6) b=151;
if (a==7) b=181;
if (a==8) b=211;
if (a==9) b=242;
if (a==10) b=272;
if (a==11) b=303;
if (a==12) b=333;
return b;
}

char f(char s1, ...)
{ char cp ;
cp = &s1;//—адрес первого указателя
int len = 0,a,b,c,d,e,f,i,j,data1,data2;
// цикл для определения общей длины сцепляемых строк
while (
cp) { len += strlen(
cp); cp++; }
char s = new char[len+1]; //—память для строки
s[0]=0; //— «очищаем» строку
// цикл для сцепления строк
cp=&s1; //— опять установка на 1-й параметр
while (
cp)
{ strcat_s(s, len+1,*cp); //— прицепляем первую (и следующие)
cp++; //— перемещаемся на следующую
}

a=atoi(s);
for(j=0;j<len+1;j++)
s[j]=s[j+3];
b=atoi(s);
for(j=0;j<len+1;j++)
s[j]=s[j+3];
c=atoi(s);
for (i=0;i<4;i++)
{
for(j=0;j<len+1;j++)
s[j]=s[j+3];
d=atoi(s);
for(j=0;j<len+1;j++)
s[j]=s[j+3];
e=atoi(s);
for(j=0;j<len+1;j++)
s[j]=s[j+3];
f=atoi(s);
data1=a+mec(b)+(c365);
data2=d+mec(e)+(f
365);
if(data1>data2) cout<<«kolichestvo dnei mejdy »<< i+1 <<« »<<«i»<<« »<< i+2<<«: »<<data1-data2<<endl;
else cout<<«kolichestvo dnei mejdy »<<« »<< i+1 << « »<<«i»<< « »<< i+2<<«: »<<data2-data1<<endl;
a=d; b=e; c=f;
}
return s;
}
void main()
{
char s1=«02.03.18 »;
char
s2=«20.04.18 »;
char s3=«03.04.12 »;
char
s4=«05.05.12 »;
char s5=«06.09.11 »;
char
s6=«03.04.10 »;
cout <<f(s1,s2,s3,s4,s5);

}
В 12 вижле код компилируется на некоторых других выдает ошибку доступа к данным. С чем это может быть связанно?

Сделайте, что бы код отображался нормально. Тогда будем посмотреть.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.