Форум программистов, компьютерный форум CyberForum.ru

Либо я дурак либо.... - C++

Восстановить пароль Регистрация
 
Kashtan$$$
1 / 1 / 0
Регистрация: 26.11.2009
Сообщений: 49
28.11.2010, 23:12     Либо я дурак либо.... #1
Короче задание такое...создать матрицу, определить сумму элементов в тех стлбцах которые не содержат отрицательных элементов...но дело не в этом он мне пишет в 24 строке не найден или неопределен символ j это как понимать объясните а?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
/*4.3*/
void VVmatrix(int m1[][10])
{
puts("\n Matrica M\n");
 for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
m1[i][j]=random(20)-4;
   printf("%4d",m1[i][j]);
}
   printf("\n");
}
 
 
   int sum,k;
 
for(j=0;j<10;j++)
{
sum=0;k=0;
for(i=0;i<10;i++)
{
sum+=m1[i][j];
if(m1[i][j]<0)k++;
}
if(k==0)
printf("\nsumma stolbca %d ravna %d",j+1,sum);
}
 
}
main()
{int N[10][10];
clrscr();/*4.3*/
VVmatrix(N);//summ(N);//sedlovtoch(N);
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2010, 23:12     Либо я дурак либо....
Посмотрите здесь:

Никак не могу найти ошибку, должен сосздать матрицу либо из звездочеку либо из пробелов C++
Вывести в алфавитном порядке слова, которые присутствуют либо в первой строке, либо во второй, но не в обеих сразу. C++
Найти либо максимум, либо минимум для трех задаваемых чисел C++
C++ две прямые либо паралельны либо совпадают либо не существуют
C++ Засада с машинным эпсилон, или Либо я дурак
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
28.11.2010, 23:13     Либо я дурак либо.... #2
попробуйте int j;!!!
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.11.2010, 23:16     Либо я дурак либо.... #3
Kashtan$$$, Я вас больше скажу. У вас и i не определен. Ибо то, что определено в первых двух циклах - уничтожается после выхода из области видимости (вложенный цикл для j и внешний цикл для i).
Почитайте про области видимости. Много вопросов отпадет
Kashtan$$$
1 / 1 / 0
Регистрация: 26.11.2009
Сообщений: 49
28.11.2010, 23:49  [ТС]     Либо я дурак либо.... #4
Да вот i то как раз он видит....и все таки интересно ссылкой или литературкой про области видимости не поделитесь...не встречался я с такими нюансами раньше никогда такой проблемы не возникало....даже когда именно в циклах указывал переменные...Спасибо ForEveR

Добавлено через 55 секунд
Цитата Сообщение от MILAN Посмотреть сообщение
попробуйте int j;!!!
ну это и дураку понятно...
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.11.2010, 00:01     Либо я дурак либо.... #5
Kashtan$$$, Если вкратце. Каждая переменная имеет свою область видимости.

1. Глобальная область видимости.

Обратится можно в любом месте программы, кроме тех случаев, когда локальная переменная с тем же именем перекрывает глобальную.

Пример.

C++
1
2
3
4
5
6
7
8
int var=10;
int main()
{
    int x=var;//x=10
    int var=5;//Перекрыли глобальную переменную
    int y=var;//y=5
    int c=::var;//Явно указали что используем глобальную область видимости. c=10
}
2. Область видимости в блоке.

Локальная переменная - переменная, объявленная в каком-то блоке.

Пример.

C++
1
2
3
4
void foo()
{
    int a=10;//Локальная переменная. Видима только в этой функции
}
C++
1
2
3
4
for(int i=0; ;) //i - локальная переменная
{
    //Можем использовать i
}//Выход из области видимости. i уничтожается.
C++
1
2
3
4
5
6
7
8
9
int main()
{
    int x=0;//Локальная переменная
    {
        int c=0;//Локальная переменная в блоке
    }//Выходим из области видимости блока. c уничтожается
    int t=c;//Ошибка. Не объявлен идентификатор c.
    return 0;
}//x уничтожается
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
29.11.2010, 00:05     Либо я дурак либо.... #6
Цитата Сообщение от Kashtan$$$ Посмотреть сообщение
ну это и дураку понятно...
Если понятно, то почему же вы ето не сделали?
Kashtan$$$
1 / 1 / 0
Регистрация: 26.11.2009
Сообщений: 49
29.11.2010, 00:17  [ТС]     Либо я дурак либо.... #7
Вот спасибо огромное не знал этого не знал....ну про область видимости в функции и глобальные переменные знал...знал что из функции выходишь и она теряет свое значение....вот как бывает огромное спасибо за разъяснение ForEveR

Добавлено через 2 минуты
Цитата Сообщение от MILAN Посмотреть сообщение
Если понятно, то почему же вы ето не сделали?
логика у меня не та вот поэтому и не сделал)))
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.11.2010, 00:36     Либо я дурак либо.... #8
Kashtan$$$, Ах да. Забыл еще про один блок.

C++
1
2
3
4
5
if(/*some condition*/)
{
    int x=0;//Локальная переменная
    //Do something
}//x уничтожилась.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2010, 00:53     Либо я дурак либо....
Еще ссылки по теме:

Проверка открытия файла либо работает, либо уходит в бесконечность C++
C++ При потсроении пишет что конструктор либо недоступен либо объявлен как explicit
Сделать либо так, чтобы в файл записывались рандомные матрица и вектор, либо из файла считывать C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Kashtan$$$
1 / 1 / 0
Регистрация: 26.11.2009
Сообщений: 49
29.11.2010, 00:53  [ТС]     Либо я дурак либо.... #9
Цитата Сообщение от ForEveR Посмотреть сообщение
Kashtan$$$, Ах да. Забыл еще про один блок.

C++
1
2
3
4
5
if(/*some condition*/)
{
    int x=0;//Локальная переменная
    //Do something
}//x уничтожилась.
ну после предыдущих объяснений это уже само собой очевидное и все равно спс
Yandex
Объявления
29.11.2010, 00:53     Либо я дурак либо....
Ответ Создать тему
Опции темы

Текущее время: 09:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru