- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Нужно следующее условие:
Элементы матрицы A(N,M), которые при делении на два дают нечетное число.
Т.е. что-то вроде:
if(A[j]__условие__)
Заранее спасибо.
(A[j] % 2 == 1)
подойдет? Если нет, то посмотрите точнее, как в C обозначается оператор остатка от деления. Может быть, ^. Но по-моему, все же %
psylosss, нифига не так, но все равно спасибо :)
Так:
if(A[j]/2%2!=0)
Yaroslav_Adv, неверное ваше условие. Мои сомнения были только в обозначении оператора.
По-вашему, если в этой ячейке содержится число 22, то оно будет нечетным.
Делим на 2 (/2)- получаем 11. Остаток от деления 11 на 2 !=0. Число нечетное.
Решение же простое - проверять на ноль остаток от деления на 2. Если ноль, то четное; если не ноль, то нечетное.
psylosss, не знаю, но мое решение точно работает, а Ваше точно не работает.
:) правильное - это то, которое работает! значит, я ошибся
if(A[j]__условие__)
Может, проще вот так:
....
извиняюсь и поправляюсь. если при делении на 2 дают нечетное число:
if( (A[j] & 1) && !(A[j]>>1 & 1)) ... // если проверять, что поделится на 2 без остатка
if( !(A[j]>>1 & 1)) // если неважно, делится ли число на 2 без остатка
Sadie, может быть :) Не знаю :)
Кстати, может кто подскажет, что тут неверно:
Задание:
Напишите программу присвоения переменной значения, равного кол-ву строк матрицы A(N,M), содержащих хотя бы одну нулевую компоненту.
Программа:
#include "stdafx.h"
#include <stdio.h>
main()
{
int s,j,i; int A[3][3];
s=0;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
{scanf("%d",&A[j]);}}
printf("\n");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
{if(A=0) s=s+1;}
{printf("%d",A[j]);printf(" ");
}}
printf("\n");}
printf("Summa strok s 0: %d\n",s);
}
Эта гадина упорно не хочет работать. В чем ошибся?
Это кому делать нечего и не лень :)
if(A=0)
Сразу бросилось в глаза. Правильно: if( A[j]==0 )...
Или, что то же самое, if( !A[j] )...
Пояснение: если выражение внутри скобок оператора if не является нулем, то оно считается истинным. Иначе - ложным.
числа целые. Значит, достаточно проверить остаток от деления на два. См. мой первый пост :) Sadie, как обозначается в С оператор остатка от деления?
Sadie, как обозначается в С оператор остатка от деления?
%
Но в случае деления на степени двойки (2, 4, 8, 16...) проще и эффекитвнее делать побитовое AND над делимым...