Вот почему это не работает? Code: #include <stdio.h> #include <string> #include "stdafx.h" #include "fstream" #include "conio.h" #include "math.h" #include "iostream" using namespace std; class aeroflot {public: struct note { public: char type[100]; char dest[100]; }; void enter() { int numb, i, kol, o; cout << "Введите данные: " << endl; cout << "" <<endl; for (i=0; i<kol; i++)// цикл для ввода данных о рейсе { for (int o=0; o<kol; o++) { { cout << i+1 <<"-й маршрут." << endl; cout << "Пункт назначения (не более 10 симв.): "; cin >> reys[i].dest; cout << "Номер рейса: "; cin >> reys[i].numb; cout << "Тип самолета (не более 10 симв.): "; cin >> reys[i].type; } cout << "" <<endl; break; } } } }; int main() { aeroflot reys[7]; reys[7].enter(); }
Code: /* Данная последовательность n натуральных чисел. Для каждого числа вычислить количество его цифр и сумму этих цифр. Вывести на экран каждое число, количество его цифр ты их сумму. Использовать процедуру для вычисления количества цифр числа и их суммы. */ #include <stdio.h> #include <math.h> //вычисление количества цифр int count(int num) { return (int)log10(num)+1; } //вычисление сумы цифр int summa(int num) { int summ=0; while(num!=0) { summ += num%10; num /= 10; } return summ; } int main() { int arr[] = {12,134,1254,11,1,25,987,12345,321118,9,88,78,1234567}; int size = sizeof(arr)/sizeof(arr[0]); int i; printf(".-------------------------,\n" "| Number | Count | Summ |\n" ":-------------------------:\n"); for(i=0;i<size;i++) printf("| %-*d | %-*d | %-*d |\n",8,arr[i],5,count(arr[i]),4,summa(arr[i])); printf("`-------------------------'\n"); return 0; } Как-то так
Слегка подправил, теперь данные передаются в метод enter, но функция sort - сортировка ничего не выводит. Ошибки нет. Code: #include <stdio.h> #include <string> #include "stdafx.h" #include "fstream" #include "conio.h" #include "math.h" #include "iostream" using namespace std; class aeroflot {public: int numb, i; char type[100]; char dest[100]; void enter(aeroflot *reys) { int i, kol; kol=2; cout << "Введите данные: " << endl; cout << "" <<endl; for (i=0; i<kol; i++)// цикл для ввода данных о рейсе { for (int o=0; o<kol; o++) { { cout << i+1 <<"-й маршрут." << endl; cout << "Пункт назначения (не более 10 симв.): "; cin >> reys[i].dest; cout << "Номер рейса: "; cin >> reys[i].numb; cout << "Тип самолета (не более 10 симв.): "; cin >> reys[i].type; } cout << "" <<endl; break; } } } void sort(aeroflot numb, aeroflot *dest, aeroflot *type, aeroflot *reys) { int i =0; int temp = i; for (i = 0; i < temp - 1; i++)// цикл сортировки по возрастанию { int imin = i;// принимаем за наименьший первый из рассматриваемых элементов for (int j = i + 1; j < temp; j++)// поиск номера минимального элемента из неупорядоченных if (reys[j].numb < reys[imin].numb) imin = j; aeroflot a = reys[i];// обмен двух элементов массива структур reys[i] = reys[imin]; reys[imin] = a; } cout << "Маршруты по возрастанию номера рейса: " << endl; cout << " " << endl; for (i = 0; i < temp ; i++) { cout << reys[i].dest <<" " << reys[i].numb << " " << reys[i].type << endl; } } }; int _tmain(aeroflot numb, aeroflot *dest, aeroflot *type) { setlocale(0,"Rus"); aeroflot reys[2]; // reys[2].enter(reys); reys[2].sort(numb,dest,type,reys); _getch(); }
Финальная версия программы))) Code: #include <stdio.h> #include <string> #include "stdafx.h" #include "fstream" #include "conio.h" #include "math.h" #include "iostream" using namespace std; class aeroflot {public: int i, numb; char type[100]; char dest[100]; void enter(aeroflot *reys) { int i, kol; kol=2; cout << "Введите данные: " << endl; cout << "" <<endl; for (i=0; i<kol; i++)// цикл для ввода данных о рейсе { for (int o=0; o<kol; o++) { { cout << i+1 <<"-й маршрут." << endl; cout << "Пункт назначения (не более 10 симв.): "; cin >> reys[i].dest; cout << "Номер рейса: "; cin >> reys[i].numb; cout << "Тип самолета (не более 10 симв.): "; cin >> reys[i].type; } cout << "" <<endl; break; } } for (i = 0; i < 2 ; i++) { cout << reys[i].dest <<" " << reys[i].numb << " " << reys[i].type << endl; } } void sortname(aeroflot *reys, aeroflot *dest, aeroflot *type, aeroflot numb)//struct_data - тип данных структуры, n - количество элементов структуры { int j,k; aeroflot p; for(j=0; j<2; j++) { for(k=0; k<2; k++) { if(strcmp(reys[j].dest,reys[k].dest)<0) { p=reys[j]; reys[j]=reys[k]; reys[k]=p; } } } cout << "Маршруты по нункту назначения: " << endl; cout << " " << endl; for (i = 0; i < 2 ; i++) { cout << reys[i].dest <<" " << reys[i].numb << " " << reys[i].type << endl; } } void search(aeroflot *reys, aeroflot *dest, aeroflot *type, aeroflot numb, int kol) { while (true) { char inp [10]; cout << endl << "Ввведите пункт назначения: "; cin >> inp; cout << endl; bool f = false;// флаг (найдено ли хотя бы одно) for (i=0; i<kol; i++) { if (strcmp (reys[i].dest, inp)==0)//сравнение введенной строки с массивом пунктов назначения { cout << "Найдено!" << endl; cout << "Номер рейса: " <<' '<< reys[i].numb<<' '<< "Тип самолета: " <<' '<< reys[i].type << ' '<<endl; f = true; } } if (!f) cout << "Нет такого пункта назначения!"; } } }; int _tmain(aeroflot *dest, aeroflot *type, aeroflot numb, int kol ) { setlocale(0,"Rus"); // aeroflot reys[2]; reys[2].enter(reys); reys[2].sortname(reys, dest, type, numb); reys[2].search(reys, dest, type, numb, kol); _getch(); } Во первых, там ошибка есть, с выходом за пределы в reys (ее видно, если убрать метод search() с вечным циклом while, который не дает завершится проге и выдать ошибку). Во вторых, собсно функция search не хочет ничего искать! Совсем сбился уже с толку сегодня с этой прогой, помогите!!!
Есть ли у кого идеи по поводу этакой задачки: Вывести всевозможные перестановки цифр в числе. >> 132 << 123 132 213 231 312 321
Ответ для JohnnyBGoode Для задачи: Показать, что сумма нечётных натуральных чисел равна квадрату целого числа. Количество нечётных натуральных чисел задаёт пользователь. Code: #include "stdafx.h"; #include "iostream"; using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int n, i; cout << "Vvedite kol-vo nechetnih chisel: "; cin >> n; int sum=1; for (i=2; i<=n; i++) { sum += 2*i-1; } cout << "\nFor number " << n << " sum= " << sum<< " : " << n << " v kvadrate\n"; i = 1; while(i<(n*2)) { if((i%2)==1) cout << i << " "; i++; } system ("pause"); return 0; }
Такой вот вопрос. Может у кого то завалялась прога на MASM которая реализует шифрование строки методом Цезаря? Если есть, заранее спасибо)
Code: mov esi,offset buffer call _cezar ... _cezar proc push edx dec esi _1: inc esi mov dl,byte ptr[esi] cmp dl,0 je _5 cmp dl,30h jb _1 cmp dl,36h jbe _2 cmp dl,39h jbe _3 cmp dl,41h jb _1 cmp dl,57h jbe _2 cmp dl,5ah jbe _4 cmp dl,61h jb _1 cmp dl,77h jbe _2 cmp dl,7ah ja _1 jmp _4 _2: add dl,3 mov byte ptr[esi],dl jmp _1 _3: sub dl,7 mov byte ptr[esi],dl jmp _1 _4: sub dl,17h mov byte ptr[esi],dl jmp _1 _5: pop edx ret _cezar endp
Тебя прикалывает спрашивать одно и то же много раз подряд? https://forum.antichat.ru/showpost.php?p=2429738&postcount=5874 https://forum.antichat.ru/showpost.php?p=2429870&postcount=5875
Просто в тех кодах были ошибки которые я исправил, а вот этот код должен работать, но я не пойму почему он не работает
Здравствуйте, имеется программа, которая неверно считает. Необходимо просмотреть код, найти ошибки и еще доделать/изменить некоторые вещи. Язык - Java. IDE - NetBeans 6.5 Подробности при отписке в личку. ОПЛАТУ ГАРАНТИРУЮ!!!
Ввести n и x и вычислить сумму: a=(-1)*(pow(x,2*k))/(Fact(k+1)) Ответ: при x=3,14, n=10 -----> S приблизительно равна 99,253 ВРОДЕ НАПИСАЛ, НО НЕ МОГУ ПОНЯТЬ В ЧЕМ ОШИБКА ОТВЕТ ПОЛУЧАЮ -1382,3800 Подскажите где я ошибся, заранее благодарен)
Ты умножаешь все выражение на -1, у тебя ответ не может быть в принципе положительным, т.к. pow() у тебя > 0 и Fact() тоже > 0.
Вычисление чисел фибоначчи на Си Задание в универе следующее: "1)Напишите на языке C два варианта программы генерирующей заданное число F(n) из последовательности Фибоначчи (F(n + 2) = F(n + 1) + F(n), n ≥ 0 , F(0) = 0, F(1) = 1): нерекурсивный и рекурсивный. Номер числа в последовательности n задается через аргумент командной строки. Добавьте в рекурсивную версию подсчет числа вызовов рекурсивной функции. Сколько раз вызывается функция при вычислении F(20)? Какой вариант эффективнее? Какое максимальное, по счету, число из последовательности может сгенерировать ваша программа?" 2) Оцените сложность по времени и памяти рекурсивного варианта программы из задачи №1 (как функцию n). 3) Возьмите нерекурсивный вариант программы из задачи №1 за основу и напишите программу, которая печатает таблицу чисел Фибоначчи в заданном диапазоне следующего вида: +----+------------+ | n | F(n) | +----+------------+ | ... | ... | | xx | xxxxxxxx | | .. .| ... | +----+------------+ Диапазон значений задается через аргументы командной строки. 4) Нарисуйте UML диаграмму деятельности для программы из задачи №4." Нерекурсивно вроде так: Code: #include <stdio.h> int main () { int n; printf("\nHow many numbers of the sequence would you like?\n"); scanf("%d",&n); fibonacci(n); return 0; } int fibonacci(int n) { int a = 0; int b = 1; int sum; int i; for (i=0;i<n;i++) { printf("%d\n",a); sum = a + b; a = b; b = sum; } return 0; } ...на этом мысль останавливается... Кто-нибудь может помочь?
Доброго времени суток Зарание извеняюсь, но уже два дня парюсь по давольнотаки простому вопросу, но некак не могу сообразить: дана задача, вывести массив из N чисел (10), заполняется рэндомом, после этого нужно вывести его чередуя чётные и не чётные числа с конца массива пока это возможно, подскажите алгоритм, буду очень благодарен (желательно массив должен использоваться один)