Вот хз, вроде все просто, но перетрахал себе мозги с этими двумя последними лабами, че-то не то получается. Единственный язык который блин с горем-пополам знаю так это Дельфи, и то хрен знает как сдал практику. Вообщем за мегО спасибо и + помогите решить. На C++ 1. Напишите программу, которая по заданному натуральному числу определяет его первую и последнюю цифры. Определение и вывод цифр оформите в виде функции. 2. Напишите программу с использованием функции Perim. В эту функцию из программы передаются координаты вершин треугольника А(х1, у1), В(х2, у2), С(хЗ, уЗ), а она возвращает периметр треугольника. Если такой треугольник не существует, то выдается соответствующее сообщение. 1. Вычислите сумму элементов с нечетными номерами. 2. Преобразуйте массив так, чтобы элементы массива поменялись местами (первый — с последним, второй — с предпоследним и т.д.). 3. Вычислите сумму элементов, находящихся между первым и последним отрицательными элементами. 4. Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и вычислите сумму положительных элементов, стоящих на нечетных местах.
вот что должно быть в ф-ции для первого задания (где 1я и последняя цифры числа k) void xek(const int k, int& begin, int& end) { end=k%10; begin=k; while (begin/10>9) { begin=begin/10; } } до вывода надеюсь сам догадаешься)
да вывод фигня) VERte][ большое спасибо... блин я значит в самом начале тупил) и строчек на 3 больше получалось
2 Sinex (1е задание с загоном наибольшего эл-та в левый верхний угол) на вскидку, не компилировал, ф-цию zapolnenie сам допишешь надеюсь... Code: void zapolnenie(int a[][], int n, int m); void perestanovka(int a[][], int n, int m); const int m(10),n(10); int main() { int a[n][m]; zapolnenie(a); perestanovka(a); return 0; } void perestanovka(int a[][], int n, int m) { int max,str(0),stb(0),j(0),i(0),temp; max=a[0][0]; for(int i(0); i<n; i++) for(int j(0); j<m; j++) if (a[i][j]>max) { str=i; stb=j; /*нахождение строки и столбца где максимальный элемент*/ } if (str!=1)/*перестановка строк 1 и той где макс элемент*/ { while (j<m) { a[1][j]=temp; a[1][j]=a[str][j]; a[str][j]=temp; j++; } } if (stb!=1)/*перестановка столбцов 1 и того где макс элемент*/ { while (i<n) { a[i][1]=temp; a[i][1]=a[i][stb]; a[i][stb]=temp; i++; } } }
2 Sinex 2е задание про инверсии(zapolnenie тоже сам допиши): Code: #include<iostream> using namespace std; void zapolnenie(int a[], int n); const int n(10); int main() { int a[n], count(0); zapolnenie(a); for (int i(0);i<n-1;i++) for(int j(i+1); j<n; j++) if (a[j]<a[i]) count++; cout<<cout; return 0; }
Добрый день! Задание: используя алгоритмы и контейнеры Stl: создай список из 20 случаных элементов, со значениями от 1 до 19. отсортируй список так что бы сначала шли четные элементы На С++
очень прошу помощи с задачей "Золотая гора" ("Треугольник") на C Входной файл input.txt Выходной: output.txt Идея-подсказка, предложенная мне: "Реализация проста-делай двумерный массив и пускай цикл снизу. Последняя строка совпадает с исходной, а дальше подымайся вверх и выбирай максимум из двух. a[0][0] твой ответ" Пример правильного input.txt: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 Первое число во входном файле (5) - количество строк в треугольнике. Соответственно, остальные - его заполнение. Надо найти сумму чисел, расположенных на пути, начинающемся в верхней точке треугольника и заканчивающимся на основании. Условия: 1. Каждый шаг на пути может осуществляться вниз по диагонали влево или вниз по диагонали вправо. 2. Число строк в треугольнике - от 1 до 100 3. Треугольник составлен из простых чисел от 0 до 99 Выходные данные. В файл output.txt записывается только наибольшая сумма в виде целого числа. Для треугольника из примера правильно работающая прога запишет: "30" Если не сдам в понедельник - не допустят до сессии, хотя это - последний оставшийся зачёт( кол-во плюсов-благодарностей,какое хотите за реализацию задачи, заявляйте в пм
может найдутся разберающиеся люди и помогут с лабами??!!!! с меня ++ гарантированы будьте людьми, помогите. просто без этих лаб меня попрут((( с универа, тем более что разберающимся людям их быстро делать.....
Помогите в написании задания для курсача асм и тоже самое на паскале Дана строка "YoU ArE DeAd!!!" перевести её в вверхний регист, затем в нижний и вывести все три сторки(искодня, верхний регистр, нижний).... есть маленькие наработки
День добрый. Нихуево вы наглые стали, студенты. Ещё бы слово "Смирно бля! Всем решать я сказал!" дописал. вопрос - а зачем ты в такой институт/колледж/етц пошел? ЭЭ..Как помочь? Могу помолиться. Или имеется ввиду так между делом "напишите за меня и дайте готовый код"... ? Ты же привел наработку, зачем тебе помогать?... Если бы я сюда скидывал каждый вопрос, на который не могу найти ответ - у меня бы уже постов было тысяч десять. Есть очень хорошая традиция.. Помогать надо осмысленно, т.е. это не значит "писать код за тебя". Тем более, когда чел идет учится в крутой институт, для того, чтоб потом на форуме писать "я полный нуб и ничего не понимаю".
Ну и всё...на этом всё дело закончилось....дальше я хз ч0 с этим делать....а паскаль я вообще не знаю, ....а преподу пох....
тока один вопрос - у меня студия глючит или эта прога действительно вылетает с ошибкой? вроде ничо криминального я там пока не написал, всего-то надо занести в структуру новое значение и попытаться рекурсивно вывести это бинарное дерево.
Лаба по C++ "Написать программу, которая создаёт очередь целых чисел вводимых с клавиатуры. Упорядочить эту очередь по возрастанию и вывисти её на экран." struct Node { char data; Node* next; }; int main() { Node *firstPt=NULL;*token=NULL;*prev=NULL; cout<<"Введите строку символов" char ch, flag=1; do { ch=getche(); token=new Node; token->data=ch; token->next=NULL; if (flag) { firstPt=token; flag=0; } else prev->next=token; prev=token; }while(ch!='\r'); cout<<endl; cout<<"Очередь:\n"; token=firstPt; while(token) { cout<<token->data; token=token->next; } cout<<endl; getch(); return 0; Это код создания самой очереди, но нет сортировки. Немогу отсортировать эту очередь помогите плз
Сортировка выбором (selection sort). Ищешь наимменьший элемент массива, который ставишь на место A[1], ишешь второй наименьший элемент, который ставишь на A[2]... Этот процесс продолжаешь для первых n-1 элементов массива. Раборает за O(n*n). Code: for i:=1 to SIZE-1 do begin min:=i; for j:=i+1 to SIZE do if a[j] > a [min] then min:=j; buf:=a[i]; a[i]:=a[min]; a[min]:=buf; end; Имхо, если брать произвольные числа, то heap-sort самое то- n*lg(n) (Но (!) хоть quick-sort в плохих случаях работает за n*lg(n) . . . . . n*n, тесты показывают, что он быстрее, связано с хз какой записью на винче). З.Ы. Почитай Кормана.
нид хелп доброго времени суток ) помогите плз. есть задание: написать программу, которая построчно выводит на экран слова для заданой строки. вот что наваял, компилится но не работает ( Code: TITLE vuvod_str. .386 INCLUDE Study32.inc WriteString PROTO ReadString PROTO WriteChar PROTO WaitMsg PROTO ExitProcess PROTO .DATA str_in byte 100h dup(?) str_buff byte 0ffh dup(?) str1 byte "vvedite stroky simvolov ne bolwe 255 slimvolov",0dh,0ah,0 .CODE main PROC mov edx, offset str1 call WriteString ;vuvod priglaweni9 vvesti simvolu mov ecx, 0ffh call ReadString ; edx - ukazivaet na bufer, ecx- razmer bufera -1 (rezerv pod 0), vozvrawaet v eax koli4estvo vvedenux simvolov mov ecx, eax ; deistvitelnoe koli4estvo vvedenux simvolov, lea ebx, str_in ; zapiwem adres v ebx mov eax,0 ; obnulim na vs9kii sly4ai mov edx,0 ;edx toje L1: mov al,byte ptr [ebx]+[edx] cmp al, 20h je L2 ;esli probel inc edx ; uveli4im smewenie na 1 call WriteChar ;vuvodim simvol cmp ecx,0 ; proverim ne dowli li do konca stroki je L3 ;esli dowli go out dec ecx ;umenwim koli4estvo ostavwuxs9 cuklov jmp L1 ; go na sled simvol L2: call crlf ;perevod koretki inc edx ; probel toje simvol dec ecx cmp ecx,0 ; proverim ne dowli li do konca stroki jnz L1 L3: call WaitMsg ; daem vozmojnost s4itat' rezult call ExitProcess ; korektnui vuxod iz progi main ENDP END main на деле при запуске после считывания ничего не выводит, немогу разобратся где ошибся... знаю что можно было использовать repe но незнаю как ) было мало практики и примеры на практике были не сложные