Другие языки программирования и технологии

c++ помогите найти сумму элементов на главной диагонали?

// ConsoleApplication9.cpp: главный файл проекта.
#include "stdafx.h"
#include
#include "math.h"
#include "conio.h"

int main()

{

int t, i,s, a[3][3];
for (int t = 0; t < 3; t++)
for (int i = 0; i < 3; i++)
std::cin >> a[t][i];
for (int t = 0; t < 3; ++t){
for (int i = 0; i < 3; ++i)
printf("%3d", a[t][i]);
printf("\n");
}
s = a[1][1] + a[2][2] + a[3][3];
printf("stroka: %s", s);
_getch();
return 0;
} вроде как написал но не работает
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
const size_t rank = 3;
long matrix[rank][rank];
for (size_t row = 0; row < rank; ++row)
for (size_t column = 0; column < rank; ++column)
cin >> matrix[row][column];
for (size_t row = 0; row < rank; ++row, cout << '\n')
for (size_t column = 0; column < rank; ++column)
cout << setw(8) << matrix[row][column];
cout << endl;
long long sum = 0;
for (size_t i = 0; i < rank; ++i) sum += matrix[i][i];
cout << "Sum = " << sum << endl;
cin.sync();
cin.get();
}
Игорь Абдикеев
Игорь Абдикеев
54 632
Лучший ответ
Во-первых, если "не работает" - то включи компьютер. А если делает что-то не так, как ты ожидал - то пиши конкретно, что именно, по-твоему, не так. Проблема может быть в твоем компьютере... и даже у тебя в голове.
А во-вторых - в C/C++ массивы нумеруются с 0, и, соответственно, последний элемент массива 3x3 имеет индекс [2][2].
MK
Mamuka Kantidze
86 675
Вадим Смирнов Необработанное исключение по адресу 0x0FD0FB53 (msvcr120d.dll) в ConsoleApplication16.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x0000000F.
К ответу Капитана, который совершенно верно указал на индексы, добавлю, что s у тебя обисана как int (что правильно), а выводишь ты её как строку (%s), что неправильно. Надо %i или %d.
Вадим Смирнов вот тут я честно говоря не понял про %s
Вадим Смирнов я учел что масссив с 0 начинаеться
решил ?
Вадим Смирнов да помогли
Тут, как правило, не водятся программисты.
Здесь больше психологией увлекаются.
Тебе на тех форумы нужно идти.

P.s. Проверь пробелы между символами. Помню, люто бесили они меня когда-то.
Вадим Смирнов символы тут все нормально