Спробуйте просто localhost написати (без :8080)
Пробовала и пользователя пересоздавала. ничего не помогает,ерунда какая-то
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Повідомлення користувача burlakad
Спробуйте просто localhost написати (без :8080)
Пробовала и пользователя пересоздавала. ничего не помогает,ерунда какая-то
1. Ок, перший раз коли я сказав про константи, ви проігнорували це, а помилка виявилась саме в тому рядку.
2. Ви вкурсі, що для того щоб підключитись до БД, треба ввести правильні дані?7
3. Ви знаєте що таке константи?
У файлі config знаходиться такий код
<?php
define("HOST",`localhost:8080`);
define("USER",`Dina`);
define("PASSWORD",`123`);
define("DB",`agromash`);
?>
У phpMyAdmin я створила користувача з іменем Dina,паролем 123,хостом localhost:8080,який має усі права доступу до бази данних agromash. наче б то все правильно
Дочекайтеся на повідомлення про перевищення часу скриптом PHP.
Видало ось такі помилки
Warning: mysql_connect() [function.mysql-connect]: MySQL server has gone away in Z:\home\localhost\www\product\classes\ACore.php on line 7
Warning: mysql_connect() [function.mysql-connect]: Error while reading greeting packet. PID=3640 in Z:\home\localhost\www\product\classes\ACore.php on line 7
Warning: mysql_connect() [function.mysql-connect]: MySQL server has gone away in Z:\home\localhost\www\product\classes\ACore.php on line 7
Fatal error: Maximum execution time of 30 seconds exceeded in Z:\home\localhost\www\product\classes\ACore.php on line 7
Сьома стрічка це
$this->db= mysql_connect(HOST,USER,PASSWORD);
А в header.php ніяких підключень до бази не встановлюється?
Ні, там виключно html-код
коду якої ви не навели.
ось код сторінки,яку я намагаюсь завантажити
<?php
header("Content-Type:text/html;charset=UTF-8");
require_once("config.php");
require_once("classes/ACore.php");
if($_GET['option']){
$class = trim(strip_tags($_GET['option']));
}
else{
$class = 'main';
}
if(file_exists("classes/".$class.".php")){
include("classes/".$class.".php");
if(class_exists($class)){
$obj = new $class;
$obj->get_body();
}
else{
exit("<p>Не адреса</p>");
}
}
else{
exit("<p>Неправильний доступ</p>");
}
?>
Допоможіть розібратися, в чому проблема, чому виникає помилка No database selected. Створила базу даних agromash, в ній таблицю product в MySql, тепер намагаюсь її вивести в таблицю на сайті. підкажіть будь ласка, в чому проблема. Якщо ставлю два __construct і перезавантажую сторінку, воно просто без перерви її вантажить, але перезавантажити не може. Можливо проблема в циклі, але я поки не можу розібратися, яка саме
<?php
abstract class ACore{
protected $db;
public function _construct(){
$this->db = mysql_connect(HOST,USER,PASSWORD);
if (!$this->db){
exit("Error".mysql_error());
}
if(!mysql_select_db(DB,$this->db)){
exit("We have not this DB");
}
mysql_query("SET NAMES 'UTF8'");
}
protected function get_header(){
include "header.php";
}
public function get_body(){
$this->get_header();
$query = "SELECT `id`,`name`,`number`,`price` FROM `product`";
$result = mysql_query($query) or die(mysql_error());
if (!$query){
exit(mysql_error());
}
echo "<div class='container'>
<div class='collections'>
<div class='product'>
<table border=2 align=center bgcolor=black cellspacing=1 cellpadding=5 >
<tr >";
$row = array();
while ($row = mysql_fetch_array($result)){
echo "<td align=center rowspan=2>
<b><font >№ П.П</font></b>
</td>
<td align=center rowspan=2>
<b><font > Найменування продукції
</font></b>
</td>
<td align=center rowspan=2>
<b><font >Номер по каталогу
</font></b>
</td>
<td align=center >
<b><font >Ціна
</font></b>
</td>
</tr>
<tr>
</tr>";
$ID = $row[id];
$Name = $row[name];
$Number = $row[number];
$Price = $row[price];
}
echo"</table>
</div>
</div>
</div>";
}
}
?>
У вас тут помилка в алгоритмі.
1. Навіщо так заповнювати матрицю? Пройдіться по кожному елементу і кожному присвойте рандом.
2. Вам потрібно перевіряти не кожен елемент матриці, а перевіряти кожен рядок, чи в кожному рядку перший елемент менший останнього, ну і чи менші вони взагалі кількості стовпчиків.
але ж цей алгоритм працює правильно і матриця заповнюється так,як потрібно. перші елементи менше останніх і всі елементи менше кількості елементів у рядку,навіщо його змінювати,якщо потрібно лише правильно переписати їх до матриці В?
От Ви кажете, що перший елемент рядка менший останнього, а рандом, який заповнює матрицю, про це знає?
знає,я вже писала змінений код вище
Кожен рядок матриці A на першій і останній позиції містить індекси відповідно початку і кінця діапазону елементів рядка, які необхідно переписати у відповідний рядок матриці B. Створити матрицю B з необхідною кількістю стовпчиків у кожному рядку та переписати до неї вказані елементи з матриці A. Відсортувати кожен рядок матриці A за зростанням.
Ось такі були початкові умови якщо були зміни то напишіть Правильну умову задачі.
Умова залишилась такою ж,але,щоб вона виконувалась,потрібно,щоб значення першого елемента у кожному рядку матриці було меншим,ніж значення останнього елемента у рядку,а також,щоб їх значення не перевищували кількість елементів у рядку.Цю частину умови я зробила,ось код
using System;
namespace Ex06
{
class Program
{
static int[,] A;
static int[][] B;
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
// TODO: Implement Functionality Here
SetA();
ShowA();
//SetB();
//ShowB();
SortA();
ShowA();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
/// <summary>
/// Заповнити масив A
/// </summary>
static void SetA()
{
int rows, cols, fill;
Console.Clear();
Console.WriteLine("Введiть кiлькiсть рядкiв i стовпчикiв матрицi:");
cols = rows = int.Parse(Console.ReadLine());
//cols = int.Parse(Console.ReadLine());
A = new int[rows, cols];
// кількість рядків, кількість стовпчиків і коефіцієнт заповнення матриці A
//Console.WriteLine("Введiть коефiцiєнт заповнення матрицi (0...100 %):");
// fill = int.Parse(Console.ReadLine());
fill = 100;
Random Rnd = new Random();
// заповнення матриці випадковими числами із заданою щільністю
int fillcount = fill * rows * cols / 100, pos = 0;
while (pos < fillcount)
{
int rpos = Rnd.Next(A.GetLength(0));
int cpos = Rnd.Next(A.GetLength(1));
if (A[rpos, cpos] == 0)
{
A[rpos, cpos] = Rnd.Next(2, rows + 1);
++pos;
}
}
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
if (A[i, 0] > A[i, cols - 1])
{
int t = A[0, j];
A[i, 0] = A[i, cols - 1];
A[i, cols - 1] = t;
}
// else if (A[i, 0] == A[i, cols - 1])
// {
// SetB();
// }
// else SetB();
}
}
}
//static void SetB()
//{
// //int rows = A.GetLength(0);
// //int cols = rows;
// //int i = 0;
// //int a = A[i, cols] - A[i, 0];
// //for (i = A[i, 0]; i < a; i++)
// //{
// // for (int j = 0; j < cols; j++)
// // {
// // B[i][0] = A[i, A[i, 0] + i];
// // }
// //}
// int rowsCount = A.GetLength(0);
// B = new int[rowsCount][];
// int startPos = 0, endPos = 0;
// for (int i = 0; i < rowsCount; i++)
// {
// int colsCount = A.GetLength(1);
// startPos = A[i, 0];
// endPos = A[i, colsCount - 1];
// int lengthRowB = endPos - startPos;
// if ((lengthRowB < 1) || (lengthRowB > colsCount))
// {
// B[i] = new int[0];
// continue;
// }
// endPos--;
// startPos--;
// if ((endPos >= colsCount) || (startPos >= colsCount))
// {
// B[i] = new int[0];
// continue;
// }
// if ((endPos < 0) || (startPos < 0))
// {
// B[i] = new int[0];
// continue;
// }
// B[i] = new int[lengthRowB];
// int count = 0;
// for (int col = startPos; col < endPos; col++)
// {
// B[i][count] = A[i, col];
// //Console.WriteLine("r={0},B={1}",i,B[i][count]);
// count++;
// }
// }
//}
//<summary>
//вивід матриці на дисплей
//</summary>
static void ShowA()
{
// вивід матриці на дисплей
Console.WriteLine("Вмiст матрицi A:");
for (int i = 0; i < A.GetLength(0); i++)
{
for (int j = 0; j < A.GetLength(1); j++)
{
Console.Write("{0, 4}", A[i, j]);
}
Console.WriteLine();
}
}
//static void ShowB()
//{
// int cols = B.GetLength(1);
// int rows = B.GetLength(0);
// Console.WriteLine("---Матриця B--");
// for (int i = 0; i < rows; i++)
// {
// for (int j = 0; j < cols; j++)
// Console.Write("{0, 4}", B[i][j]);
// if (B[i].Length > 0)
// Console.WriteLine();
// }
// Console.WriteLine("---Матриця B--");
//}
static void SortA()
{
for (int i = 0; i < A.GetLength(0); i++)
{
int rowLength = A.GetLength(1);
int[] arrayRow = new int[rowLength];
for (int j = 0; j < rowLength; j++)
{
arrayRow[j] = A[i, j];
}
Array.Sort(arrayRow);
for (int j = 0; j < rowLength; j++)
{
A[i, j] = arrayRow[j];
}
}
}
}
}
а от переписати потрібні елементи у матрицю В мені так і не вдається.
наприклад,якщо матриця
А=3 4 5 3 2 6 5
4 5 6 2 1 1 4
5 4 3 2 2 1 6
то матриця В буде виглядати так
В=3 2 6
1
1 6
А дебажити пробували? Break Points, F10, F11?
Мені здається, я знаю де помилка, але щоб Ви поменше писали на різних формах свої прохання про допомогу - Вам потрібно навчитись мистецтву пошуку помилок.
Тому поставте десь точку зупинки, запустіть програму, поклацайте F10/F11, подивіться на значення змінних, подумайте, які вони мають бути і які вони стали, і так на кожному кроці.
Наче б то зробила так,як ви написали,тепер помилка тут
B[i] = new int[currentColumnsCount];
переконатись у відсутності ділення на ноль. Якась маячня
Ця програма зчитує 1.txt рядок за рядком, конвертує кожен рядок у число, сортує ці числа й зберігає їх у вигляді тексту в 2.txt
Якщо рядок в 1.txt містить не число, а щось інше, виникає ексепшен, якого ми не бачимо, бо його перехоплює мовчазний try...catch, і програма зупиняється.
Скажіть,а як зробити так,щоб читало і сортувало текст?
Підкажіть,що я роблю не так,чому рядки не переписуються в інший файл?
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
try
{
string text = string.Empty;
List<int> dest = new List<int>();
var source = File.ReadLines("1.txt").ToList();
source.ForEach(num => dest.Add(int.Parse(num)));
dest.Sort();
dest.ForEach(num => text += num.ToString() + "\r\n");
File.WriteAllText("2.txt", text);
}
catch
{
}
}
}
}
Так Ви ж не лише там змінили мій код
навіть,якщо більше нічого не змінювати,помилка залишається
using System;
namespace Ex06
{
class Program
{
static int[,] A;
static int[][] B;
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
// TODO: Implement Functionality Here
SetA();
ShowA();
GetB(A);
ShowB();
SortA();
ShowA();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
/// <summary>
/// Заповнити масив A
/// </summary>
static void SetA()
{
int rows, cols, fill;
Console.Clear();
Console.WriteLine("Введiть кiлькiсть рядкiв i стовпчикiв матрицi:");
rows = int.Parse(Console.ReadLine());
cols = int.Parse(Console.ReadLine());
A = new int[rows, cols];
// кількість рядків, кількість стовпчиків і коефіцієнт заповнення матриці A
Console.WriteLine("Введiть коефiцiєнт заповнення матрицi (0...100 %):");
fill = int.Parse(Console.ReadLine());
Random Rnd = new Random();
// заповнення матриці випадковими числами із заданою щільністю
int fillcount = fill * rows * cols / 100, pos = 0;
while (pos < fillcount)
{
int rpos = Rnd.Next(A.GetLength(0));
int cpos = Rnd.Next(A.GetLength(1));
if (A[rpos, cpos] == 0)
{
A[rpos, cpos] = Rnd.Next(2, 10);
++pos;
}
}
}
static int[][] GetB(int[,] A)
{
int columnsAtA = A.GetLength(1);
int[][] B = new int[columnsAtA][];
int currentColumnsCount;
for (int i = 0; i < columnsAtA; i++)
{
currentColumnsCount = A[i, columnsAtA - 1] - A[i, 0] + 1;
B[i] = new int[currentColumnsCount];
for (int j = 0; j < currentColumnsCount; j++)
{
//не зебуваємо, що нумерація з 0, тому третій стовпчик насправді 2-ий
B[i][j] = A[i-1, A[i, 0] - 1 + j];
}
}
return B;
}
/// <summary>
/// вивід матриці на дисплей
/// </summary>
static void ShowA()
{
// вивід матриці на дисплей
Console.WriteLine("Вмiст матрицi A:");
for (int i = 0; i < A.GetLength(0); i++)
{
for (int j = 0; j < A.GetLength(1); j++)
{
Console.Write("{0, 4}", A[i, j]);
}
Console.WriteLine();
}
}
static void ShowB()
{
Console.WriteLine("---Матриця B--");
for (int i = 0; i < B.GetLength(0); i++)
{
for (int j = 0; j < B[i].Length; j++)
Console.Write("{0, 4}", B[i][j]);
if (B[i].Length > 0)
Console.WriteLine();
}
Console.WriteLine("---Матриця B--");
}
static void SortA()
{
for (int i = 0; i < A.GetLength(0); i++)
{
int rowLength = A.GetLength(1);
int[] arrayRow = new int[rowLength];
for (int j = 0; j < rowLength; j++)
{
arrayRow[j] = A[i, j];
}
Array.Sort(arrayRow);
for (int j = 0; j < rowLength; j++)
{
A[i, j] = arrayRow[j];
}
}
}
}
}
{ //не зебуваємо, що нумерація з 0, тому третій стовпчик насправді 2-ий B[i][j] = A[i-1, A[i, 0]-1+j ]; }
я так само записувала,така ж помилка
ось,що у мене вийшло,я трохи змінила умову,щоб перший і останній елементи були меншими,ніж кількість елементів у рядку,а також перший елемент був менше останнього,але тепер не розумію,чому тут
{
//не зебуваємо, що нумерація з 0, тому третій стовпчик насправді 2-ий
B[i][j] = A[i-1, A[i, 0]-1+j ];
}
видає помилку про те, щоб переконатись у тому,що максимальний індекс у списку менше розміру списку
using System;
namespace Ex06
{
class Program
{
static int[,] A;
static int[][] B;
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
// TODO: Implement Functionality Here
SetA();
ShowA();
B=GetB(A);
//SetB();
ShowB();
SortA();
ShowA();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
/// <summary>
/// Заповнити масив A
/// </summary>
static void SetA()
{
int rows, cols, fill;
Console.Clear();
Console.WriteLine("Введiть кiлькiсть рядкiв i стовпчикiв матрицi:");
cols = rows = int.Parse(Console.ReadLine());
//cols = int.Parse(Console.ReadLine());
A = new int[rows, cols];
// кількість рядків, кількість стовпчиків і коефіцієнт заповнення матриці A
//Console.WriteLine("Введiть коефiцiєнт заповнення матрицi (0...100 %):");
// fill = int.Parse(Console.ReadLine());
fill = 100;
Random Rnd = new Random();
// заповнення матриці випадковими числами із заданою щільністю
int fillcount = fill * rows * cols / 100, pos = 0;
while (pos < fillcount)
{
int rpos = Rnd.Next(A.GetLength(0));
int cpos = Rnd.Next(A.GetLength(1));
if (A[rpos, cpos] == 0)
{
A[rpos, cpos] = Rnd.Next(1, 5);
++pos;
}
}
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
if (A[i, 0] > A[i, cols - 1])
{
int t = A[0, j];
A[i, 0] = A[i, cols - 1];
A[i, cols - 1] = t;
}
else if (A[i, 0] == A[i, cols - 1])
{
GetB(A);
}
else GetB(A);
}
}
}
static int[][] GetB(int[,] A)
{
int columnsAtA = A.GetLength(1);
int[][] B = new int[columnsAtA][];
int currentColumnsCount;
for (int i = 0; i < columnsAtA; i++)
{
currentColumnsCount = A[i, columnsAtA - 1] - A[i, 0] + 1;
B[i] = new int[currentColumnsCount-1];
for (int j = 0; j < currentColumnsCount; j++)
{
//не зебуваємо, що нумерація з 0, тому третій стовпчик насправді 2-ий
B[i][j] = A[i-1, A[i, 0]-1+j ];
}
}
return B;
} static void ShowA()
{
// вивід матриці на дисплей
Console.WriteLine("Вмiст матрицi A:");
for (int i = 0; i < A.GetLength(0); i++)
{
for (int j = 0; j < A.GetLength(1); j++)
{
Console.Write("{0, 4}", A[i, j]);
}
Console.WriteLine();
}
}
static void ShowB()
{
int cols = B.GetLength(1);
int rows = B.GetLength(0);
Console.WriteLine("---Матриця B--");
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
Console.Write("{0, 4}", B[i][j]);
if (B[i].Length > 0)
Console.WriteLine();
}
Console.WriteLine("---Матриця B--");
}
static void SortA()
{
for (int i = 0; i < A.GetLength(0); i++)
{
int rowLength = A.GetLength(1);
int[] arrayRow = new int[rowLength];
for (int j = 0; j < rowLength; j++)
{
arrayRow[j] = A[i, j];
}
Array.Sort(arrayRow);
for (int j = 0; j < rowLength; j++)
{
A[i, j] = arrayRow[j];
}
}
}
}
}
а якщо перший елемент (першого рядку наприклад) більший за кількість елементів рядку
або останній елемент (першого рядку наприклад) менший від значення першого елементу рядку
тоді не буде у матриці В 0 (першого) рядку так ?
9 5 6 4 7 3 0
2 6 8 5 4 0 3
3 5 7 2 9 8 3
5 4 3 1 1 9 6
---------
-null--
8 5
2
9 6
ні,перший і останній елементи повинні бути меншими,ніж кількість елементів у рядку,а також перший елемент повинен бути менше останнього
Ви маєте на увазі, замість цієї частини коду:
static void SetB() { int rowsCount = A.GetLength(0); B = new int[rowsCount][]; int startPos = 0, endPos = 0; for (int i = 0; i < rowsCount; i++) { int colsCount = A.GetLength(1); startPos = A[i,0]; endPos = A[i,colsCount - 1]; int lengthRowB = endPos - startPos; if ((lengthRowB < 1)||(lengthRowB > colsCount)) { B[i] = new int[0]; continue; } endPos--; startPos--; if ((endPos >= colsCount)||(startPos >= colsCount)) { B[i] = new int[0]; continue; } if ((endPos < 0)||(startPos < 0)) { B[i] = new int[0]; continue; } B[i] = new int[lengthRowB]; int count = 0; for (int col = startPos; col < endPos; col++) { B[i][count] = A[i,col]; //Console.WriteLine("r={0},B={1}",i,B[i][count]); count++; } } }
вставити цю:
static int[][] GetB(int[,] A)
{
int columnsAtA = A.GetLength(1);
int [][] B = new int[columnsAtA][];
int currentColumnsCount;
for (int i = 0; i < columnsAtA; i++)
{
currentColumnsCount = A[i, columnsAtA - 1] - A[i, 0] + 1;
B[i] = new int[currentColumnsCount];
for (int j = 0; j < currentColumnsCount; j++)
{
//не зебуваємо, що нумерація з 0, тому третій стовпчик насправді 2-ий
B[i][j] = A[i, A[i, 0] - 1 + j];
}
}
return B;
}
?
запропонуйте як повинно виглядати результат - все зроблю. пишіть...
Дякую) Уявімо,що матриця А виглядає так:
3 5 6 4 7 3 5
2 6 8 5 4 0 3
3 5 7 2 9 8 3
5 4 3 1 1 9 6
ми дивимося на значення першого та останнього елементів кожного рядку(перший елемент повинен бути меншим,ніж останній) і у матрицю В переписуємо ті елементи,у яких індекси відповідають значенню першого та останнього елементу матриці А та елементі,що знаходяться між ними,тобто матриця В повинна виглядати так:
4 7 3
8 5
2
9 6
Вітаю, ви вже навчилися працювати з гуглом. Ще допомога потрібна?
Ваша? Пфф. Ні,дякую
Щоб зрозуміти, вам треба не тему створювати, а код писати. А то
Ось мій код,але,на жаль, моїх знань недостатньо,аби правильно реалізувати цю програму. Дякую,ви дуже допомогли.
#include <iostream>
#include <algorithm>
#include <cassert>
template<typename Type, std::size_t Size>
class min_priority_queue {
public:
min_priority_queue() : index(0) {}
void push(Type const& value) {
assert(index < Size);
container[index] = value;
std::push_heap(&container[0], &container[0] + ++index, std::greater<int>());
}
void pop() {
assert(index > 0);
std::pop_heap(&container[0], &container[0] + index--, std::greater<int>());
}
Type & top() {
assert(index > 0);
return container[0];
}
Type const& top() const {
assert(index > 0);
return container[0];
}
private:
Type container[Size];
std::size_t index;
};
int main() {
min_priority_queue<int, 10> queue;
queue.push(1);
std::cout << queue.top() << std::endl;
queue.push(2);
std::cout << queue.top() << std::endl;
queue.pop();
std::cout << queue.top() << std::endl;
queue.push(-1);
std::cout << queue.top() << std::endl;
queue.push(-3);
std::cout << queue.top() << std::endl;
queue.pop();
std::cout << queue.top() << std::endl;
queue.push(6);
std::cout << queue.top() << std::endl;
}