Возник такой вопрос, в начале программы есть проверка, допустим такая в результате этого нужно остановить программу и вывести сообщение, аля пхпэшный exit, Си изучаю недавно. Внимание вопрос: "Как это сделать в Си?".
juzam можно через throw и ловить ошибки в try{}catch(char *error){}. Вариантов много. Можно попробовать exit(1) или return -1
Лабораторная работа №3 Программирование циклов с неизвестным заранее числом повторений Цель работы: освоение средств языка С++ для описания итерационных циклов и закрепление навыков использования их при программировании. В этой лабе нужно вывести точно значение функции но это все фигня.... основная цель этой задачи лежит в том чтобы высчитать приближенное значение по функции как я понял: надо раскрыть скобки и выявить зафисимость последующих элементов этой функции .. также выявить последовательность знаком + или - и прога будет считать приближенное значение до значение эпсилон например 0.000001 >=eps чуть кода Свои попытки выкладывать не стал .. там бредокод =( как говорится лучше заново написать чем в чужом разбираться #include <iostream.h> #include <conio.h> #include <math.h> void main() { double X, eps; clrscr(); cout << "BBeguTe 3HA4eHue ApryMeHTa X="; cin >> X; cout << "T04HOCTb EPS="; cin >> eps; do { } While(fabs(a)>=eps); cout << "IIpu6/\u}I{eHHoe 3HA4eHue arcctg x=" << ////////; cout << "To4HOE 3HA4eHue arcctg x=" << ////////////; } ЗАРАНЕЕ БОЛЬШУЩИЕ СПАСИБО =*
я наподобие делал =) вот только задавал число пи 3.14 константой и аркатангенс хадавал формулой так как в <math.h> нет такой функции =( но всеравно прога не работает =( я 2 неделю епусь с ней =( Может число пИ надо как нибудь подругому задавать? _____ убежал в вуз =(
Программу не тестировал, не было времени. Но алгоритм должен быть верным. Большие числа не бери, компьютер не сможет посчитать, а на отрезке [-1,1] любое вещественное число должно считать верно. Результат можешь сравнить со значениями на нигме.
Помогите перевести на С Написал алгоритм на С++, нужно его в С переписать: Code: #include <iostream.h> #include <math.h> void main(void) { int i; // Цикловая переменная int x; int m,n; // Вводим размерность матрицы cout << "Enter count of lines: "; cin >> m; cout << "Enter count of columns: "; cin >> n; [COLOR=DarkOrange] int **a=new int *[m]; // Массив указателей длиной X for(int i=0;i<m;i++) a[i]=new int [n]; //Матрица [/COLOR] // Вводим значения for(int i=0;i<m;i++) for(int j=0;j<n;j++) { cin >> a[i][j]; } int maxVal, minVal, totalMin; for(int i = 0; i < m; ++i) { minVal = a[i][0]; maxVal = a[i][0]; for(int j = 0; j < n; ++ j) { if(a[i][j] > maxVal) maxVal = a[i][j]; if(a[i][j] < minVal) minVal = a[i][j]; } if(i == 0) totalMin = maxVal - minVal; int raz = maxVal - minVal; if(raz > totalMin) totalMin = raz; } cout<<totalMin<<' '<<endl; char t[10]; cin>>t; } В общем вся проблема в объявлении матрицы, в С насколько я знаю нет оператора new, помогите перевести, кто разбирается?
Вот так в С происходит создание двумерной матрицы А ввод и вывод ( cin и cout ) замени на printf(); scanf(); А код выше какой вы написали вообще не работает! Кто так выделяет память под матрицу? Code: int **a=new int *[m]; // Массив указателей длиной X for(int i=0;i<m;i++) a[i]=new int [n]; //Матрица
задание - найти все простые числа от 2 до 100 000 поправьте где ошибки( Code: #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <iostream> using namespace System ; const long N=10000; int main(array<System::String ^ > ^args); { unsigned char r[N/8+1]; for(long i; i<=N/8; ++i) r[i]xFF; for(long i=2; i<=N/2; ++i) if (r[i/8]&(0x80>>i%8)) for(long j=2*i; j<=N; j+=i) r[j/8]&=~(0x80>>j%8); for(long i=2; i<=N; ++i) if (r[i/8]&(0x80>>i%8)) printf("%8i",i); getch(); return 0; }
Пи задаётся, как M_PI, но для этого нужно подключить какую-то из этих библиотек, а какую я не помню. #include <cmath> #include <iostream> #pragma hdrstop #include <stdio.h> #include <math.h> #include <limits.h> #include <values.h> #include <conio.h> #include <iostream.h>
Алгоритм поиска простого числа. C# FoXuk Простое число - число которое делится только на единицу и на саму себя. Ниже приведен пример поиска простого числа от 1 до 99. и вывод в textBox1.Text Code: bool b1 = true; for (int i = 1; i < 100; i++) { for (int i1 = 2; i1 < i; i1++) { if (i % i1 == 0) { b1 = false; break; } } if (b1 == true) { textBox1.AppendText(i.ToString() + "\r\n"); } b1 = true; } P.S. вдруг поможет.
если уж говорить о простом числе A, то лучше проверять не все делители, а лишь делители, которые меньше sqrt(A)
Если Вы это мне, то я разве не так делаю. i - простое число i1- то число которое проверяю условие вот for (int i1 = 2; i1 < i; i1++)
Code: bool b1 = true; for (int i = 1; i < 100; i++) { int n = sqrt(i); for (int i1 = 2; i1 <= n; i1++) { if (i % i1 == 0) { b1 = false; break; } } if (b1 == true) { textBox1.AppendText(i.ToString() + "\r\n"); } b1 = true; }
Что-то после этих изменений вообще ниче не работает((( Выручите пожалуйста, переведите в С Code: #include <iostream.h> #include <math.h> void main(void) { int i; // Цикловая переменная int x; int m,n; // Вводим размерность матрицы cout << "Enter count of lines: "; cin >> m; cout << "Enter count of columns: "; cin >> n; int **a=new int *[m]; // Массив указателей длиной X for(int i=0;i<m;i++) a[i]=new int [n]; //Матрица // Вводим значения for(int i=0;i<m;i++) for(int j=0;j<n;j++) { cin >> a[i][j]; } int maxVal, minVal, totalMin; for(int i = 0; i < m; ++i) { minVal = a[i][0]; maxVal = a[i][0]; for(int j = 0; j < n; ++ j) { if(a[i][j] > maxVal) maxVal = a[i][j]; if(a[i][j] < minVal) minVal = a[i][j]; } if(i == 0) totalMin = maxVal - minVal; int raz = maxVal - minVal; if(raz > totalMin) totalMin = raz; } cout<<totalMin<<' '<<endl; char t[10]; cin>>t; }
Code: #include <stdio.h> void main(void) { int i,j; // Цикловая переменная int x; int m,n; // Вводим размерность матрицы int **a; int maxVal, minVal, totalMin, raz; char t[10]; printf("Enter count of lines: "); scanf("%d",&m); printf("Enter count of columns: "); scanf("%d",&n); a = (int **) malloc(m * sizeof(int *)); for (i=0; i<m; i++) a[i] = (int *) malloc(n * sizeof(int)); // Вводим значения for (i=0; i<m; i++) for (j=0; j<n; j++) scanf("%d",&a[i][j]); for(i=0; i<m; ++i) { minVal = a[i][0]; maxVal = a[i][0]; for(j=0; j<n; ++j) { if(a[i][j] > maxVal) maxVal = a[i][j]; if(a[i][j] < minVal) minVal = a[i][j]; } if(i == 0) totalMin = maxVal - minVal; raz = maxVal - minVal; if(raz > totalMin) totalMin = raz; } free(a); printf("%d \n",totalMin); scanf("%s",&t); //? } типа такого.
Ребят, помогите, пожалуйста, написать прогу по этому заданию: Дан массив целых чисел от 1 до 20 .диапазон (0,20)..сгенерировать, создать новый массив в котором будут все нечетные числа. На Delphi. И скажите какие компоненты на форму-то кидать. =))