
Другие языки программирования и технологии
Помогите с лабораторной на языке С. Программа должна рассчитать сколько раз изменился знак во вводимых числах.
Используя оператор while или do...while.


С украинского на русский переведи.
Быстро отреагировал:
#include "iostream"
int main()
{
int counter = 0;
int number;
std::cin >> number;
int previous_number = number;
do
{
std::cin.clear();
std::cin >> number;
if (abs(number) < 100)
{
if (previous_number >= 0 && number < 0 || previous_number < 0 && number >= 0)
{
counter++;
}
previous_number = number;
}
} while (abs(number) < 100);
std::cout << "Counter: " << counter << std::endl;
system("pause");
}
P.S. в России кончаются стратегические запасы сала, буду не против, если вышлите почтой.
UPDATE:
#include "stdio.h"
#include "stdlib.h"
int main()
{
int counter = 0;
int number;
scanf_s("%d", &number);
int previous_number = number;
do
{
scanf_s("%d", &number);
if (abs(number) < 100)
{
if (previous_number >= 0 && number < 0 || previous_number < 0 && number >= 0)
{
counter++;
}
previous_number = number;
}
} while (abs(number) < 100);
printf("Counter: %d\n", counter);
system("pause");
}
Быстро отреагировал:
#include "iostream"
int main()
{
int counter = 0;
int number;
std::cin >> number;
int previous_number = number;
do
{
std::cin.clear();
std::cin >> number;
if (abs(number) < 100)
{
if (previous_number >= 0 && number < 0 || previous_number < 0 && number >= 0)
{
counter++;
}
previous_number = number;
}
} while (abs(number) < 100);
std::cout << "Counter: " << counter << std::endl;
system("pause");
}
P.S. в России кончаются стратегические запасы сала, буду не против, если вышлите почтой.
UPDATE:
#include "stdio.h"
#include "stdlib.h"
int main()
{
int counter = 0;
int number;
scanf_s("%d", &number);
int previous_number = number;
do
{
scanf_s("%d", &number);
if (abs(number) < 100)
{
if (previous_number >= 0 && number < 0 || previous_number < 0 && number >= 0)
{
counter++;
}
previous_number = number;
}
} while (abs(number) < 100);
printf("Counter: %d\n", counter);
system("pause");
}
Мунир Валиев
С клавы вводятся целые числа в диапозоне [-100;100].Концом введения является число, которое выходит за рамки этого промежутка. Прога должна высчитать, сколько раз изменяется знак числа из введенной последовательности.
int count = 0, prev, cur;
scanf("%d", &prev);
if (abs(prev) <= 100) {
while (1) {
scanf("%d", &cur);
if (abs(cur) > 100) { break; }
if (prev * cur < 0 || prev * cur == 0 && prev + cur != 0) { ++count; }
prev = cur;
}
}
printf("%d", count);
Число 0 не является ни положительным, не отрицательным - это отдельный, третий, знак числа.
Если нули игнорируем, то всё становится даже проще:
if (prev * cur < 0) {
++count;
} else if (cur != 0) {
prev = cur;
}
scanf("%d", &prev);
if (abs(prev) <= 100) {
while (1) {
scanf("%d", &cur);
if (abs(cur) > 100) { break; }
if (prev * cur < 0 || prev * cur == 0 && prev + cur != 0) { ++count; }
prev = cur;
}
}
printf("%d", count);
Число 0 не является ни положительным, не отрицательным - это отдельный, третий, знак числа.
Если нули игнорируем, то всё становится даже проще:
if (prev * cur < 0) {
++count;
} else if (cur != 0) {
prev = cur;
}
#||Dark||# /...angel...\
Твой вариант гораздо лучше, чем мое г*вно-поделие на невыспавшуюся голову. Сохраню.
Похожие вопросы
- Написать программу на языке C, чтобы в нее вводили число, а она говорила простое оно или нет
- Как при восьмеричном коде компьютер понимает сколько знаков (цифр) в числе?
- Напишите программу которая рассчитает значение полинома n-й степени.
- Функция в языке Си, которая если мы вводим числа до 100, пишет верно, если больше то неверно.
- Вводится 100 положительных чисел меньших 30, программа должна найти и напечатать все неповторяющиеся уникальные числа
- Подскажите пожалуйста, на каком языке написана программа, на С или C++
- <<ПОМОГИТЕ! НАПИСАТЬ ПРОГРАММУ НА СИ ИЛИ ПАСКАЛЕ КОТОРАЯ ВЫВОДИТЬ СУММУ ЦИФР ЧИСЛА ОТ 1 ДО N
- С клавиатуры вводится целое число от 1 до 1000 обозначающую сумму в рублях. Программа должна печатать эту сумму прописью
- Как перевести число из двоичной системы счисления в восьмеричную в Ассемблер (tasm) Программа должна быть простой!
- Как перевести число из восьмеричной системы счисления в двоичную в Ассемблер (tasm) Программа должна быть простой!