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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2009, 11:39   #1
Jasper92
Форумчанин
 
Аватар для Jasper92
 
Регистрация: 07.02.2009
Сообщений: 110
По умолчанию Цикл

Надо написать программу которая вычисляет прростое ли число. Я написал но при вводе с клавиатуры число программа не определяет какое оно.
Код:
#include <stdafx.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main ()
{
int a,c;
printf ("Vvedite chislo");
scanf  ("%i",&a);
	for(c=2;c>a;c++)
	{
if (a/c==0) printf ("Slognoe \n"); 
           else  printf ("prostoe \n"); 
   	}
	getch ();
}

Последний раз редактировалось Stilet; 09.12.2009 в 12:14.
Jasper92 вне форума Ответить с цитированием
Старый 09.12.2009, 12:06   #2
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

if (a%c==0)
ds.Dante вне форума Ответить с цитированием
Старый 09.12.2009, 12:21   #3
Дырдин
Пользователь
 
Аватар для Дырдин
 
Регистрация: 26.09.2009
Сообщений: 81
По умолчанию

Можно так

Код:
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main ()
{
int a;
int deliteli;
int i;
printf ("Vvedite chislo = ");
scanf ("%d",&a);
for(i = 2;i < a;i++)
{
	if (a%i != 0)
		deliteli = deliteli  + 1;
	if (deliteli > 0)
		printf ("Chislo %d - slognoe\n", a);
	else
	{
		printf ("Chislo %d - prostoe\n", a);
	}
}
}
for(c=2;c>a;c++)

Надо for(c=2;c<a;c++)

Последний раз редактировалось Дырдин; 09.12.2009 в 12:31.
Дырдин вне форума Ответить с цитированием
Старый 09.12.2009, 12:47   #4
Jasper92
Форумчанин
 
Аватар для Jasper92
 
Регистрация: 07.02.2009
Сообщений: 110
По умолчанию

почему программа вылетает после первого неправильного ввода числа
Код:
#include <stdafx.h>
#include <conio.h>
#include <stdio.h>
void main ()
{
int a=5;
int b,c;      
printf  ("Otgodaite a");
for(c=0;c<10;c++)
{
scanf ("%i",&b);
if (a<b) printf ("a<b");
else
if (a>b) printf ("a>b");
else
if (a=b) printf ("a=b"); break;
}

getch ();
}

Последний раз редактировалось Jasper92; 09.12.2009 в 12:54.
Jasper92 вне форума Ответить с цитированием
Старый 09.12.2009, 12:54   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Какого числа?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.12.2009, 12:56   #6
Jasper92
Форумчанин
 
Аватар для Jasper92
 
Регистрация: 07.02.2009
Сообщений: 110
По умолчанию

При вводе любого числа
Ввод производится один раз
Jasper92 вне форума Ответить с цитированием
Старый 09.12.2009, 21:15   #7
Дырдин
Пользователь
 
Аватар для Дырдин
 
Регистрация: 26.09.2009
Сообщений: 81
По умолчанию

Вот так даже с подсказкой

Код:
# include <stdio.h>
# include <conio.h>
# include <locale.h>
# include <math.h>
void main ()
{
	setlocale(LC_ALL,"Russian");
	int a = 5;
	int b;      
	printf ("Отгадайте а!!!\nВведите Ваше число (1 - 10) = ");
	scanf ("%d",&b);
		if (a < b)
		{
			printf ("Задуманное число меньше!\n");
		}
		if (a>b)
		{
			printf ("Задуманное число больше!\n");
		}
		if (a == b)
		{
			printf ("Вы угадали!!!\n");
		}

}
Дырдин вне форума Ответить с цитированием
Старый 10.12.2009, 09:33   #8
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Цитата:
Сообщение от Jasper92 Посмотреть сообщение
почему программа вылетает после первого неправильного ввода числа
У тебя break находится не в блоке if, а непосредственно в цикле. Нужны фигурные скобки.
ds.Dante вне форума Ответить с цитированием
Старый 10.12.2009, 09:53   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А если так:
Код:
 printf ((a == b)?("Вы угадали!!!\n"):((a < b)?("Задуманное число меньше!\n"):("Задуманное число больше!\n")));
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.12.2009, 12:54   #10
Jasper92
Форумчанин
 
Аватар для Jasper92
 
Регистрация: 07.02.2009
Сообщений: 110
По умолчанию

Как отбросить дробную часть на С?
Jasper92 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23
цикл ciaonataha Общие вопросы C/C++ 0 24.06.2009 18:47
цикл Aqil_f Microsoft Office Excel 2 10.06.2009 15:40
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34