Параметри пошуку (Сторінка 1 з 3)
Ласкаво просимо!
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Хоч якусь підказку можна?
LoganRoss написав:При чому тут ваша програма і стек? Ви знаєте що таке стек?
У вас у програмі просто заповнюється масив випадковими (одним і тим же посівом, між іншим) числами, знаходиться найменший елемент, а потім просто міняються місцями останні два елементи.
Так що конкретизуйте що ви хочете зробити і навіщо вам стек, яке взагалі ТЗ, інакше ніхто не зможе допомогти.
Тільки у цій функції, не розумію як присвоїти змінним значення потрібних елементів черги
(змінні min1 i min2)
Так черга чи стек? Яка функція? Конкретніше будь ласка.
Використовуючи стекову структуру, створити і вивести не впорядкований цифровий список. Поміняти два елементи місцями, що знаходяться після мінімального. Впахувати ситуацію кінця списку.
Можна це зробити?
reverse2500 написав:зараз під стеком розуміється багато чого, якщо не зрозуміло що таке стек, то раджу взяти дізассемблер і отладчик і глінути власну програму там
Ось моя програма...
#include <iostream>
using namespace std;
struct Node
{ int data; Node *next;};
struct Queue
{
int size;
Node *first;
Node *last;
};
void Creation(Queue *Q)
{
Q->first = new Node;
Q->first->next = NULL;
Q->last = Q->first;
Q->size = 0;
}
int Top(Queue *Q)
{
return Q->first->next->data;
}
void Add(Queue *Q)
{
int value;
cout << "Znachenie -> ";
cin >> value;
Q->last->next = new Node;
Q->last = Q->last->next;
Q->last->data = value;
Q->last->next = NULL;
Q->size++;
cout << "Element dobavlen\n";
}
int Size(Queue *Q)
{
return Q->size;
}
void PrintOcher(Queue *Q)
{
Node *X = Q->first->next;
while(X)
{
cout << X->data << "=>";
X = X->next;
}
cout << endl;
}
void UdMinEl(Queue *Q)
{
Node *X = Q->first->next;
int n = 0, pm=0, nm=0, min1 = X->data, min2 = X->data;
X = X->next;
while(X)
{
n++;
if(X->data < min1)
{
pm = n + 1;
nm = n + 2;
min1 = X->data;
min2 = X->data;
}
X = X->next;
}
Node *X1=Q->first->next;
for(int i = 1; i <= pm; i++)
X1 = X1->next;
X1->data = min2;
X1 = Q->first->next;
for(int i = 1; i <= nm; i++)
X1 = X1->next;
X1->data = min1;
}
int main()
{
Queue Q;
Creation(&Q);
int n;
cout << "Введіть кількість елементів - ";
cin >> n;
cout << "Введіть елементи черги\n";
for(int i = 1; i <=n; i++)
{
Add(&Q);
}
cout << "*** Черга***\n";
PrintOcher(&Q);
UdMinEl(&Q);
cout << "***Черга після перестановки***\n";
PrintOcher(&Q);
system("pause");
return 0;
}
Тільки у цій функції, не розумію як присвоїти змінним значення потрібних елементів черги
(змінні min1 i min2)
void UdMinEl(Queue *Q)
{
Node *X = Q->first->next;
int n = 0, pm=0, nm=0, min1 = X->data, min2 = X->data;
X = X->next;
while(X)
{
n++;
if(X->data < min1)
{
pm = n + 1;
nm = n + 2;
min1 = X->data;
min2 = X->data;
}
X = X->next;
}
Node *X1=Q->first->next;
for(int i = 1; i <= pm; i++)
X1 = X1->next;
X1->data = min2;
X1 = Q->first->next;
for(int i = 1; i <= nm; i++)
X1 = X1->next;
X1->data = min1;
}
Програма заміняє 2 наступні елементи мінімальним, а як зробити щоб 2 наступні помінялись місцями?
Не можу розібратись зі стеком
Як цю програму можна реалізувати стеком?
#include <stdio.h>
#include <conio.h>
#include <locale>
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
void main()
{
setlocale(0,"");
int n=6;
int a[6];
int min;
cout<<"Початковий стек"<<endl;
int mi=0;
for (int i=n;i>0;i--)
{
a[i]=(rand()%20)-10;
cout<<a[i]<<" ";
}
min=a[0];
for (int i=0;i<n;i++)
{
if (a[i]<min)
{
min=a[i];
mi=i;
}
}
cout<<endl<<"Кiнцевий стек"<<endl;
int t;
int q=a[mi+1];
int w=a[mi+2];
a[mi+1]=w; a[mi+2]=q;
for (int i=n;i>0;i--)
{
cout<<a[i]<<" ";
}
min=100000;
mi=-1;
for (int i =n; i>0;i--)
{if (a[i]<min)
{
min=a[i];
mi=i;
}
}
cout<<endl<<"Мiн елемент: "<<min<<endl;
_getch();
exit(1);
}
Доброго дня! Дуже потрібна ваша допомога. Вже звертався до вас з цим питанням, але у MySQL. Отже, потрібно у формі вивести Прізвище_Боксера1 та Прізвище_Боксера2. Як це зробити?
Доброго дня! Допоможіть будь ласка з задачею.) "У файлі містяться прізвища людей. Потрібно зчитати їх з файлу, і порівняти. Якщо є однакові, тоді записати їх у файл file1.txt, a всі, які не співпадають, у файл file2.txt"
Ось початок роботи.) як це закінчити???
import java.io.*;
import java.util.*;
public class IndividualExercise {
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(new File("work.txt"));
String[] list=new String[100];
String[] list1=new String[100];
int z=0;
int k=0;
int i=0,j=0;
String[] f=new String[100];
while(in.hasNext()){
list[i]=in.next();
z++;
i++;
}
System.out.println("Number of worlds->"+z);
for(i=0;i<z;i++)
System.out.print(list[i]+" ");
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
import java.util.regex.Pattern;
public class IOText2 {
public static void main(String args[]) throws FileNotFoundException {
Pattern p = Pattern.compile("[^(\\w')(\\w-)]"); //важливо правильно визначити regexp
Scanner scan = new Scanner(new FileReader(
"Тут//шлях//до//файлу")).useDelimiter(p);
Set<String> words = new HashSet<String>(); // дає значення, що не повторюються
while (scan.hasNext()) {
String s = scan.next();
s = s.trim();
if (!s.isEmpty())
words.add(s.toLowerCase());
}
System.out.println(words.size()); // виведе кількість унікальних слів в тексті
scan.close();
}
}
Так.. все так, велике Вам спасибі!
iovchynnikov написав:А чому не можна зробити:
SELECT ID, NAME,
(SELECT COUNT(1) FROM BATTLE BTL WHERE
BTL.boxer_one = BX.id
OR BTL.boxer_two = BX.id) BOXER_BATTLES
FROM BOXER BX
Чи я неправильно зрозумів завдання?
SELECT BTL.id BATTLE_ID,
concat(
B1.name, ' (',
(SELECT COUNT(1) FROM BATTLE BTL WHERE
BTL.boxer_one = B1.id
OR BTL.boxer_two = B1.id), ' battles in total)') BOXER_ONE,
'vs',
concat(
B2.name, ' (',
(SELECT COUNT(1) FROM BATTLE BTL WHERE
BTL.boxer_one = B2.id
OR BTL.boxer_two = B2.id), ' battles in total)') BOXER_TWO
FROM BATTLE BTL
LEFT JOIN BOXER B1 ON BTL.boxer_one=B1.id
LEFT JOIN BOXER B2 ON BTL.boxer_two=B2.id;
Це звичайно далеко не найшвидший запит, але без "поганого" юніона.
Більше прикладів: http://sqlfiddle.com/#!9/8d8ff1/19
koala написав:Вибачте, але це ви мене не зрозуміли. У вас крива структура. Звісно, ви можете викрутитися, SQL для цього і гнучкий, але без union ніяк не вийде. До речі, вам треба робити union у підзапиті, а потім з нього консолідувати дані по GROUP BY. Ну, хіба що можете курсорами і тимчасовими таблицями погратися, але краще вже union.
Я зрозумів.) Дуже дякую.) 
Вибачте, але ви мене не зрозуміли.( Я написав цей запит
select b1.SurName,b1.Name,count(boxer_id)
from battle
left join boxer as b1 on battle.Boxer_ID=b1.ID
group by b1.ID
union
select b2.SurName,b2.Name,count(BoxerTwo_ID)
from battle
left join boxer as b2 on battle.BoxerTwo_ID=b2.ID
group by b2.ID;
Тільки значення у таблиці Battle(поля:Boxer_ID BoxerTwo_ID) повторюються.) Як додати їх, щоб не використовувати об'єднання union?
Доброго вечора всім.) Ось моя ЕР діаграма, потрібно вивести Прізвище боксера, і к-сть проведених боїв.
Це я пробував робити, але не получилось..
select b1.SurName,b1.Name,count(boxer_id)
from battle
left join boxer as b1 on battle.Boxer_ID=b1.ID
group by b1.ID
union
select b2.SurName,b2.Name,count(BoxerTwo_ID)
from battle
left join boxer as b2 on battle.BoxerTwo_ID=b2.ID
group by b2.ID;
Допоможіть будь ласка розібратись у ситуації, і підкажіть кращі варіанти реалізації
Дякую.)
Sensetivity написав:sn7770666k написав:Мені потрібно вивести Прізвище і Ім'я "боксера1" та Прізвище і Ім'я "боксера2", як у таблиці Battle(Boxer_ID та BoxerTwo_ID).
Я не хочу переробляти цю діаграму ще раз. ви можете просто пояснити, як це зробити у даній ситуації?
misha_bondar_2012 написав:Я трохи не зрозумів, що Ви намагаєтесь зробити. Вам треба для кожного Boxer_ID, BoxerTwo_ID окремо витягнути Boxer.SurName та Boxer.Name. Так навіщо Вам таблиця BoxerTwo?
Я написав вище.
Таблиця BoxerTwo вам не потрібна.
Мені потрібно вивести Прізвище і Ім'я "боксера1" та Прізвище і Ім'я "боксера2", як у таблиці Battle(Boxer_ID та BoxerTwo_ID).
Я не хочу переробляти цю діаграму ще раз. ви можете просто пояснити, як це зробити у даній ситуації?
misha_bondar_2012 написав:Я трохи не зрозумів, що Ви намагаєтесь зробити. Вам треба для кожного Boxer_ID, BoxerTwo_ID окремо витягнути Boxer.SurName та Boxer.Name. Так навіщо Вам таблиця BoxerTwo?
там ж потрібно 2 рази витягати Прізвище і ім'я... чи що ти маєш на увазі?
Sensetivity написав:Для чого служить таблиця BoxerTwo?
Можна з витягнути імена з таблиці Battle через boxer_id boxerTwo_id.
misha_bondar_2012 написав:А що Ви маєте на увазі під
через проміжна таблицю BoxerTwo
Проміжну*
сорян..я не прикріпив фотографію проблеми.( я створий іншу тему, подивись будь ласка..
http://replace.org.ua/topic/7810/
misha_bondar_2012 написав:Зараз подумаю. Ні не знаю як Вам допомогти...
Доброго дня! Потрібно вивести Boxer.SurName та Boxer.Name для обох боксерів в таблиці Battle(Boxer_ID,BoxerTwo_ID) через проміжна таблицю BoxerTwo, як можна це зробити?
Доброго вечора! Підкажіть будь-ласка чим це можна замінити?
char cConsole::toСyrillic(char с)
{
switch (с)
{
case 'а': с = char(-96); break;
case 'б': с = char(-95); break;
case 'в': с = char(-94); break;
case 'г': с = char(-93); break;
case 'д': с = char(-92); break;
case 'е': с = char(-91); break;
case 'ё': с = char(-15); break;
case 'ж': с = char(-90); break;
case 'з': с = char(-89); break;
case 'и': с = char(-88); break;
case 'й': с = char(-87); break;
case 'к': с = char(-86); break;
case 'л': с = char(-85); break;
case 'м': с = char(-84); break;
case 'н': с = char(-83); break;
case 'о': с = char(-82); break;
case 'п': с = char(-81); break;
case 'р': с = char(-32); break;
case 'с': с = char(-31); break;
case 'т': с = char(-30); break;
case 'у': с = char(-29); break;
case 'ф': с = char(-28); break;
case 'х': с = char(-27); break;
case 'ц': с = char(-26); break;
case 'ч': с = char(-25); break;
case 'ш': с = char(-24); break;
case 'щ': с = char(-23); break;
case 'ъ': с = char(-22); break;
case 'ы': с = char(-21); break;
case 'ь': с = char(-20); break;
case 'э': с = char(-19); break;
case 'ю': с = char(-18); break;
case 'я': с = char(-17); break;
case 'А': с = char(-128); break;
case 'Б': с = char(-127); break;
case 'В': с = char(-126); break;
case 'Г': с = char(-125); break;
case 'Д': с = char(-124); break;
case 'Е': с = char(-123); break;
case 'Ё': с = char(-16); break;
case 'Ж': с = char(-122); break;
case 'З': с = char(-121); break;
case 'И': с = char(-120); break;
case 'Й': с = char(-119); break;
case 'К': с = char(-118); break;
case 'Л': с = char(-117); break;
case 'М': с = char(-116); break;
case 'Н': с = char(-115); break;
case 'О': с = char(-114); break;
case 'П': с = char(-113); break;
case 'Р': с = char(-112); break;
case 'С': с = char(-111); break;
case 'Т': с = char(-110); break;
case 'У': с = char(-109); break;
case 'Ф': с = char(-108); break;
case 'Х': с = char(-107); break;
case 'Ц': с = char(-106); break;
case 'Ч': с = char(-105); break;
case 'Ш': с = char(-104); break;
case 'Щ': с = char(-103); break;
case 'Ъ': с = char(-102); break;
case 'Ы': с = char(-101); break;
case 'Ь': с = char(-100); break;
case 'Э': с = char(-99); break;
case 'Ю': с = char(-98); break;
case 'Я': с = char(-97); break;
case 'і': с = 'i'; break;
}
return с;
}
Знайдені повідомлення: з 1 по 20 з 53