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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2009, 01:33   #1
Frame1992
Пользователь
 
Аватар для Frame1992
 
Регистрация: 21.09.2009
Сообщений: 31
По умолчанию ребят, помогите найти ошибку

Прога не работает. Прост синтаксис неправильный...
Код:
#include <stdio.h>
void main ()
{ float n,k,j,i;
   printf("\ Введи натуральное n");
   scanf("%f", n);
   if (n==1) print("\3;5");
              do
              {
               i=1
               k=6*i+1
               j=6*i-1
               i=i+1
               printf ("%f;%f, k, g);
               }
               while
                 (i<n);
          print ("\3;5");
}
Frame1992 вне форума Ответить с цитированием
Старый 01.10.2009, 02:57   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

в сканф надо передавать адрес переменной (кроме строк)

Код:
scanf("%f", &n);
а вот это зря... что ты этим хотел сказать?

Код:
 print ("\3;5");
ну и точку с запятой не забываем ставить в конце строки...

Последний раз редактировалось counter; 01.10.2009 в 03:05.
counter вне форума Ответить с цитированием
Старый 01.10.2009, 08:19   #3
Frame1992
Пользователь
 
Аватар для Frame1992
 
Регистрация: 21.09.2009
Сообщений: 31
По умолчанию

Эта прога на нахождение n пар простых чисел, разность которых 2. Так вот все такие числа имеют вид 6*i+1 и 6*i-1. Но из этого правила одно исключение - числа 3 и 5. Поэтому их надо выводить в любом случае.

З.Ы. Прога все равно не работает!
Frame1992 вне форума Ответить с цитированием
Старый 01.10.2009, 08:55   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
З.Ы. Прога все равно не работает!
А ты не хочешь книгу читать?

Код:
#include <stdio.h>
void main ()
{ float n,k,j,i;
   printf("\ Введи натуральное n");
   scanf("%f", &n);
   if (n==1) printf("\3;5");
			   i=1;
			  do
			  {
			   k=6*i+1;
			   j=6*i-1;
			   i++;
			   printf("%f;%f", k, j);
			   }
			   while (i<n);
		  printf("\3;5");
}
Читай книгу по си иначе не писать тебе программ, даже для контрольных.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.10.2009, 08:59   #5
Frame1992
Пользователь
 
Аватар для Frame1992
 
Регистрация: 21.09.2009
Сообщений: 31
По умолчанию

Во-первых я книги читаю, во-вторых все равно не работает!!
Frame1992 вне форума Ответить с цитированием
Старый 01.10.2009, 09:15   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
во-вторых все равно не работает!!
Проверял на Borland C++ 2009 - все работает. Вывод есть.
Максимум что добавь:
Код:
		  getchar();
					getchar();
перед последней скобкой
Ну и ошибки естесственно нужно приводить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.10.2009, 13:15   #7
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
Сообщение от Frame1992 Посмотреть сообщение
Эта прога на нахождение n пар простых чисел, разность которых 2. Так вот все такие числа имеют вид 6*i+1 и 6*i-1. Но из этого правила одно исключение - числа 3 и 5. Поэтому их надо выводить в любом случае.
а кто вам дал эти формулы?

первым исключением будет пара 1;3, а вторым - число 25, которое попадает в формулу, но простым не является.

Так что тут надо как-то по другому считать, либо проверять каждую пару чисел из этой формулы на простоту и разность между ними.
counter вне форума Ответить с цитированием
Старый 02.10.2009, 19:11   #8
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
Сообщение от counter Посмотреть сообщение
первым исключением будет пара 1;3
порывшись в литературке выяснил, что число 1 вообще ни к чему не относится, т.е. оно само по себе.

Тогда решение задачи
Цитата:
Эта прога на нахождение n пар простых чисел, разность которых 2.
будет таким

Код:
#include <iostream>
#include <conio.h>

using namespace std;

bool IsSimple(int n)
{
	for(int i=2;i<n;i++)
		if(n%i==0)
			return false;

	return true;
}


void main()
{
	int N;
	cout<<"N = ";
	cin>>N;

	cout<<"\n\nPary prostyh chisel"<<endl;
	cout<<"\n1-ya para : 3 and 5";

	for(int i=2,c=1;c<N;i++)
	{
		int k=6*i-1;

		if(IsSimple(k) && IsSimple(k+2))
		{
			cout<<"\n"<<c+1<<"-ya para : "<<k<<" and "<<k+2;
			c++;
		}
	}

	_getch();
}
простые числа еще и так можно найти http://ru.wikipedia.org/wiki/Решето_Эратосфена
counter вне форума Ответить с цитированием
Старый 08.10.2009, 01:21   #9
Frame1992
Пользователь
 
Аватар для Frame1992
 
Регистрация: 21.09.2009
Сообщений: 31
По умолчанию

А вот что я написал...объясните пожалст, почему происхдит зацикливание, а то уж второй час, голова не соображает вообще..
Код:
#include<stdio.h>
#include<conio.h>
void main();
{ int n, a, i, k, b;
   printf("\nВведите n");
   scanf("%d", %n);
   a=3;
   k=0;
   do
         { i=2;
            while ((a%i!=0)&&(i<=a/2))
            i=i+1;
                    if (i>a/2)
                    {b=a+2:
                     i=2;
                    }
                while ((b%i!=0)&&(i<=b/2))
                i=i+1;
                        if (i>b/2)
                        {printf("\n  %d   %d", a, b);
                          k=k+1
                        }
                a+a+1;
           }
 while (k!=n);
 printf("\n Найденые пары");
}
Frame1992 вне форума Ответить с цитированием
Старый 08.10.2009, 01:31   #10
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Как оно вообще компилится? о_О
netrino вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите найти ошибку darika Паскаль, Turbo Pascal, PascalABC.NET 7 10.09.2009 19:20
помогите найти ошибку deadh5n1 Помощь студентам 1 13.03.2009 20:56
Помогите найти ошибку alex2008ean Паскаль, Turbo Pascal, PascalABC.NET 2 17.12.2008 15:43
Помогите найти ошибку ( с++ ) JOFRIF Помощь студентам 10 23.05.2008 14:34