Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2011, 22:00   #1
zl@dey
 
Регистрация: 20.12.2011
Сообщений: 9
По умолчанию доступ к переменным из scanf

Доброго времени суток.
При реализации довольно тривиальной задачи, неожиданно столкнулся с такой проблемой: в программе необходимо обязательно использовать функции printf(), scanf(). Ввод-вывод с ними работает, но не могу получить значение введенной переменной

Пример кода:
#include <iostream.h>
#include <stdio.h>
int main()
{
int n,i,j,k;
double A[10][10];
printf("vvedite razmer matrtitsu\n");
printf("n=");
scanf("%d",&n);
k=0;
printf("Vvedite matritsu\n");
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
printf("A[%d,%d]=",i+1,j+1);
scanf("%d",&A[i][j]);
if(A[i][j]<0)
k++;

}
printf("\nIshodnaya matritsa\n");
for (i=0; i<n; i++)
{
for (int j=0; j<n;j++)
printf(" A[%d,%d]=%d",i+1,j+1,A[i][j]);
printf("\n");
}
printf("\nkol-vo otritsatelnih el-tov=%d",k);
printf("\n");
return 0;
}


Программа должна подсчитывать кол-во отрицательных эл-тов. При проверке эл-та if(A[i][j]<0) k++; переменная k на выходе всегда будет равняться числу эл-тов в матрице. В дебаггере показывает, что эл-ты матрицы пустые, хотя при выводе матрицы через printf() она отображается правильно.
Помогите пожалуйста, как правильно сравнивать эл-ты матрицы на отрицательность?

Последний раз редактировалось zl@dey; 20.12.2011 в 22:07.
zl@dey вне форума Ответить с цитированием
Старый 20.12.2011, 22:11   #2
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Строку:
Код:
scanf("%d",&A[i][j]);
Замените на строку:
Код:
scanf("%f",&A[i][j]);
8Observer8 вне форума Ответить с цитированием
Старый 20.12.2011, 22:22   #3
zl@dey
 
Регистрация: 20.12.2011
Сообщений: 9
По умолчанию

Спасибо, помогло. Также пришлось изменить тип всей матрицы с double на float.
zl@dey вне форума Ответить с цитированием
Старый 21.12.2011, 13:49   #4
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сообщение от zl@dey Посмотреть сообщение
Спасибо, помогло. Также пришлось изменить тип всей матрицы с double на float.
для double надо использовать формат "%lf"
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
аналог scanf() turtles Общие вопросы по Java, Java SE, Kotlin 1 09.04.2011 10:33
Доступ функций к глобальным переменным Utkin Общие вопросы по программированию, компьютерный форум 74 19.04.2010 07:59
обработка ошибки, scanf(), Си. krwlr Помощь студентам 3 05.04.2010 16:58
Нужна помощь по C, scanf() Sailorotec Общие вопросы C/C++ 7 02.12.2009 13:04
Доступ к переменным RealSHELS Общие вопросы Delphi 4 15.06.2008 13:14