Двумерный Массив

13.06.2014
4
0
#1
помогите, пожалуйста, исправить ошибку error C2374: 'i' : redefinition; multiple initialization

вот как выглядит задание
Определить массив A[m][n] (m и n константы), заполнить его случайными числами и выполнить следующие вычисления. Результаты выполнения задания выдать на экран и в файл.
1. Сумму элементов массива с нечетными номерами.
2. Сумму элементов массива, расположенных между первым и последним отрицательными элементами.
3. Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся элементы массива заполнить нулями.
http://codepad.org/jR6Q6DCj если выполнять через сайт то программа работает
если через с++ на компьютере то появляются вот такие ошибки:


--------------------Configuration: Kurs - Win32 Debug--------------------
Compiling...
Kurs.cpp
C:\Documents and Settings\Администратор\Рабочий стол\Kurs c\Kurs\Kurs.cpp(47) : error C2374: 'i' : redefinition; multiple initialization
C:\Documents and Settings\Администратор\Рабочий стол\Kurs c\Kurs\Kurs.cpp(28) : see declaration of 'i'
C:\Documents and Settings\Администратор\Рабочий стол\Kurs c\Kurs\Kurs.cpp(56) : error C2374: 'i' : redefinition; multiple initialization
C:\Documents and Settings\Администратор\Рабочий стол\Kurs c\Kurs\Kurs.cpp(28) : see declaration of 'i'
C:\Documents and Settings\Администратор\Рабочий стол\Kurs c\Kurs\Kurs.cpp(66) : error C2374: 'i' : redefinition; multiple initialization
C:\Documents and Settings\Администратор\Рабочий стол\Kurs c\Kurs\Kurs.cpp(28) : see declaration of 'i'
C:\Documents and Settings\Администратор\Рабочий стол\Kurs c\Kurs\Kurs.cpp(77) : error C2374: 'i' : redefinition; multiple initialization
C:\Documents and Settings\Администратор\Рабочий стол\Kurs c\Kurs\Kurs.cpp(28) : see declaration of 'i'
C:\Documents and Settings\Администратор\Рабочий стол\Kurs c\Kurs\Kurs.cpp(90) : error C2374: 'i' : redefinition; multiple initialization
C:\Documents and Settings\Администратор\Рабочий стол\Kurs c\Kurs\Kurs.cpp(28) : see declaration of 'i'
C:\Documents and Settings\Администратор\Рабочий стол\Kurs c\Kurs\Kurs.cpp(111) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.
Kurs.obj - 5 error(s), 1 warning(s)
 

ruamanga

New member
12.01.2012
4
0
#2
Компилятор не соответсвует стандарту, имена переменных в циклах for( i=xx ;...) попадают в область видимости блока main(){} хотя должны быть видны только в блоках for(){...}
Решение1: использовать компилятор поновее.
Решение2: занумеровать переменные в блоках or( i=xx ;...) {} на i1, i2, i3 , ...