menu

arrow_back AccessViolationException appears: "Attempting to read or write to protected memory". What could be the problem?

by
1 vote
Here is the code. If anything, I'm just learning the basics of Algorithmization and programming. I don't understand anything on distance learning. I have never done programming before.
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL,"Russian");
int A=12,B=500,C=-2,D=1024;
float E=.0245,F=458.1,G=-25.4875;
string H="Hello";

cout<<"Задание 1. Вывод на экран переменных A,B,C,D,E,F,G,H с новой строки,\n\
ширина поля для целых чисед - 5 знаков\n";
printf("A=%5i\nB=%5i\nC=%5i\nD=5i\nE=%f\n=%f\nH=\''%s\''",A,B,C,D,E,F,G,H);

cout<<"\n\nЗадание 2.Вывод на экран целочисленных переменных A,B,C,D\n\
через запятую с табуляцией, выравнивание справа(по умолчанию\n";
printf("A=%i,\tB=%i,\tC=%i,\tD=%i",A,B,C,D);

cout<<"\n\nЗадание 3.Вывод на экран целочисленных переменных A,B,C,D\n\
выравнивание слева,вывод знака перед числом\n";
printf("A=%-+i\nB=%-+i\nC=%-+i\nD=%-+i",A,B,C,D);

cout<<"Задание 4. Вывод на экран действительных чисел E, F, G\n\n\
с точностью 2 знака,ширина поля 7 знаков\n";
printf("E=%7.2f\nF=%7.2f\nG=%7.2f",E,F,G);

cout<<"Задание 5. Вывод на экран действительных чисел E, F, G\n\n\
в обычной и нормализованной форме\n";
printf("E=%f/t%e\nF=%f/t%e\nG=%f/t%e",E,E,F,F,G,G);


getch();
}

2 Answers

by
 
Best answer
0 votes
What could be the problem?

In a combination of this: string H="Hello"; with this: printf("...H=\''%s''",...,H); .
You can't do that. Either replace string H for example on char H[] , or replace printf("...H=\''%s''",...,H); at printf("...H=\''%s''",...,H.c_str()); .
by
0 votes
printf("A=%5i\nB=%5i\nC=%5i\nD= 5i\nE=%f\n=%f\nH=\''%s''",A,B,C,D,E,F,G,H);

Here you printed the characters 5i, not an integer. Accordingly, the order of the parameters was wrong and the following substitutions were made incorrectly.

1 comment

Fixed it, thanks, but the error remains