HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 07.11.2008, 21:11
jawbreaker
Участник форума
Регистрация: 07.07.2008
Сообщений: 161
С нами: 9391926

Репутация: 234
По умолчанию

n4e/\@
Код:
#include<stdlib.h>
#include<stdio.h>

struct list_el {
   int val;
   struct list_el * next;
};

typedef struct list_el item;

void main() {
   item * curr, * head;
   int i;

   head = NULL;

   for(i=1;i<=10;i++) {
      curr = (item *)malloc(sizeof(item));
      curr->val = i;
      curr->next  = head;
      head = curr;
   }

   curr = head;

   while(curr) {
      printf("%d\n", curr->val);
      curr = curr->next ;
   }
}
ну это линейный список, как сделать то что тебе надо я думаю ты и сам сможешь теперь догадаться =)
 
Ответить с цитированием

  #2  
Старый 07.11.2008, 22:51
n4e/\@
Участник форума
Регистрация: 06.05.2008
Сообщений: 161
С нами: 9480791

Репутация: 59
По умолчанию

Спасибо получилось. Только есть один вопрос.
Код:
curr->next  = head;   
head = curr;
Что происходит в этой части? т.е сначала мы присваиваем curr->next значение NULL
Потом head = размеру выделенной памяти?
 
Ответить с цитированием

  #3  
Старый 08.11.2008, 00:04
FrMn
Познающий
Регистрация: 08.08.2008
Сообщений: 55
С нами: 9346084

Репутация: 54
По умолчанию

Цитата:
Потом head = размеру выделенной памяти?
не размеру, а адресу
 
Ответить с цитированием

  #4  
Старый 08.11.2008, 00:13
vikseriq
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
С нами: 9356941

Репутация: 107
По умолчанию

Не забивай себе голову, делай так:
Код:
curr->next  = head = curr;
 
Ответить с цитированием

вывод матрицы на форму
  #5  
Старый 10.11.2008, 00:30
4erry
Новичок
Регистрация: 09.11.2008
Сообщений: 1
С нами: 9211410

Репутация: 0
Exclamation вывод матрицы на форму

помогите пожалуйста с выводом матрицы на форму...
вот код самой программы: (это вывод просто на консольку)

Код:
/* Сформировать квадратную матрицу A(15,15) следующего вида:
 * 0 0 0 ... 0 1
 * 0 0 0 ... 1 0
 * .............
 * 0 1 0 ... 0 0
 * 1 0 0 ... 0 0
*/

using System;

namespace Task2
{
    class ArrayDemo
    {
        public static void Main(string[] args)
        {
            Console.Title = "";
            Console.BackgroundColor = ConsoleColor.White;//цвет формы
            Console.ForegroundColor = ConsoleColor.Black;//цвет текста формы

            do
            {
                const uint N = 15;

                int[,] A = new int[N, N];

                Console.Clear();

                solution(A, N);
                write(A, N);
                Console.WriteLine();

                Console.WriteLine("Нажмите Esc для выхода!");
            } while (Console.ReadKey(true).Key != ConsoleKey.Escape);
        }

        static void solution(int[,] arr, uint l)
        {
            for (int i = 0; i < l; i++)
                for (int j = 0; j < l; j++)
                    if (i + j == l - 1)
                        arr[i, j] = 1;
        }

        static void write(int[,] arr, uint l)
        {
            for (int i = 0; i < l; i++,Console.WriteLine())
                for (int j=0;j<l;j++)
                Console.Write(arr[i,j] + " ");
        }
    }
}
а вот программка,где я создаю формочку...

Код:
using System;
using System.Windows.Forms;
using System.Drawing;

class ButtonForm : Form
{
    Button MyButton;
    Button StopButton;
    Label lblOutput;

    public ButtonForm()
    {
        Text = "Кнопочки";

        lblOutput =new Label();

        MyButton = new Button();
        MyButton.Text = "Start";
        MyButton.Location = new Point(100, 200);

        StopButton = new Button();
        StopButton.Text = "Exit";
        StopButton.Location = new Point(200, 200);

        //добавляем в список обработчик событий кнопки.
        MyButton.Click += new EventHandler(MyButtonClick);
        Controls.Add(MyButton);
        StopButton.Click += new EventHandler(StopButtonClick);
        Controls.Add(StopButton);
    }

    [STAThread]
    public static void Main()
    {
        ButtonForm skel = new ButtonForm();
        Application.Run(skel);
    }

    //обработчик для кнопки MyButton.
    protected void MyButtonClick(object who, EventArgs e)
    {
        lblOutput.Location = new Point(20, 40);
        lblOutput.Size = new Size(216, 24);

        lblOutput.Text = "1 2 3 4 5\n1 2 3 4 5\n";
        lblOutput.Location = new Point(40, 40);
        Controls.Add(lblOutput);
    }

    //обработчик событий для кнопки StopButton.
    protected void StopButtonClick(object who, EventArgs e)
    {
        //если пользователь ответит щелчком на кнопке Yes,
        //программа будет завершена.
        DialogResult result = MessageBox.Show("Остановить программу?",
            "Завершение",
            MessageBoxButtons.YesNo);
        if (result == DialogResult.Yes)
            Application.Exit();
    }
}
вопрос в том,как вывести матрицу из первого кода на форму из второго??? с помощью Label.Text не получается=((помогите пожалуйста..
П.С.прога делается в C#
 
Ответить с цитированием

  #6  
Старый 09.11.2008, 02:23
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
С нами: 9702986

Репутация: 479
По умолчанию

В чем может быть проблема -
Создаю ящик и жду данные
PHP код:
#include <windows.h>
#include <conio.h>
#include <iostream>

using namespace std;

HANDLE slot;
char buffer[255];
int n;

int main()
{
    
slot CreateMailslotA("\\\\.\\mailslot\\mail1",0,MAILSLOT_WAIT_FOREVER,0);
    
ReadFile(slot,(void*)buffer,7,(LPDWORD)n,0);
    
cout << buffer;
    
_getch();
    
CloseHandle(slot);
    return 
0;

Открываю ящик и пишу данные
PHP код:
#include <windows.h>
#include <conio.h>
#include <iostream>

using namespace std;

HANDLE h;
int n;

int main()
{
    
CreateFileA("\\\\.\\mailslot\\mail1",GENERIC_WRITE,FILE_SHARE_READ,0,OPEN_EXISTING,0,0);
    
WriteFile(h,"testeng",7,(LPDWORD)n,0);
    
CloseHandle(h);
    return 
0;

В то время когда я начинаю писать в ящик, оба приложения вылетают с ошибкой "Память не может быть written.
 
Ответить с цитированием

  #7  
Старый 09.11.2008, 02:43
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
С нами: 10633766

Репутация: 93
По умолчанию

Клиент:
PHP код:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <windows.h>

int _tmain(int argc_TCHARargv[])
{
    
HANDLE hFile;
    
char *servName "\\\\.\\Mailslot\\Laba2", *p;
    
char s[20];
    
s;
    
DWORD d 20;                
    
LPDWORD lp = &d;
    
//открываем существующий файл или создаем новый
    
hFile CreateFile(servNameGENERIC_WRITE FILE_SHARE_READ,
            
NULLOPEN_EXISTINGFILE_ATTRIBUTE_NORMALNULL);
    if(
hFile == INVALID_HANDLE_VALUE)
      
puts("Error server create!!!");
    else
    {
      
puts("Ok server find!!!");
      
puts("Please enter some text in file:");
      
gets(p);
      
//присваиваем концу строки нулевой символ
      
s[strlen(s)]='\0';
      
//запись в файл
      
WriteFile(hFilesstrlen(s), lpNULL);
      
gets(p);
      
CloseHandle(hFile);
    }
    return 
0;

Сервер:
PHP код:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <iostream>
using namespace std;
int _tmain(int argc_TCHARargv[])
{
    
HANDLE pMailslot;
    
char *servName "\\\\.\\Mailslot\\Laba2", *p;
    
char s[5];

    
s;

    
DWORD d 150;
    
LPDWORD lp = &d;
    
pMailslot CreateMailslot(servName0MAILSLOT_WAIT_FOREVERNULL);

    if(
pMailslot == INVALID_HANDLE_VALUE)
      
cout<<"Don't create!!!";
    else
      
cout<<"Create server!!!";
    
    
//считывем из файла 7 байт
    
BOOL res ReadFile(pMailslotp5lpNULL); 
    
cout<<endl;
    
cout<<" Message from client: "<<endl;
    
p[5]='\0';
    
cout<<p<<endl;
    
CloseHandle(pMailslot);
    
int a;
    
cin>>a;

Попробуй ето!! всё рабоать должно!!
 
Ответить с цитированием

  #8  
Старый 09.11.2008, 18:29
Zitt
Познавший АНТИЧАТ
Регистрация: 07.05.2006
Сообщений: 1,031
С нами: 10533245

Репутация: 773


По умолчанию

Вобщем нужно небольшой скриптик который выводит список папок в фаил.. Например;
/home/$papka/user/$papka1
Имя папки1 нужно записать фаил....
т.е. заходим в /home/ получае имя всех директорий, заходим в подпапку /users/ опять получаем название папок и записываем в фаил.. и так в цикл...

новояйте кому не трудно...
 
Ответить с цитированием

  #9  
Старый 09.11.2008, 22:16
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
С нами: 10633766

Репутация: 93
По умолчанию

имеется переменная char следующего содержания:
+ bios_char 0x0012ee1c "021102E04BF90102000000000" char [51]

Как получить из первых двух байт 20 значения 512? типа из дампа десятичное значение!!
 
Ответить с цитированием

  #10  
Старый 09.11.2008, 22:32
jawbreaker
Участник форума
Регистрация: 07.07.2008
Сообщений: 161
С нами: 9391926

Репутация: 234
По умолчанию

Zitt
Код:
#include <sys/types.h>
#include <dirent.h>
#include <errno.h>
#include <vector>
#include <string>
#include <iostream>

using namespace std;

int getdir (string dir, vector<string> &files)
{
    DIR *dp;
    struct dirent *dirp;
    if((dp  = opendir(dir.c_str())) == NULL) {
        cout << "Error(" << errno << ") opening " << dir << endl;
        return errno;
    }

    while ((dirp = readdir(dp)) != NULL) {
        files.push_back(string(dirp->d_name));
    }
    closedir(dp);
    return 0;
}

int main()
{
    string dir = string(".");
    vector<string> files = vector<string>();

    getdir(dir,files);

    for (unsigned int i = 0;i < files.size();i++) {
        cout << files[i] << endl;
    }
    return 0;
}
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.