Про комп'ютери

Автор Ігор, Лютий 21, 2012, 16:03:29

Попередня тема - Наступна тема

Сергей89

Цитата: goblin944 від Березень 16, 2015, 21:10:04
Я "глаз" менял. Стал читать и DVD. Но лучше сразу весь DVDюк,что бы не париться. Да и "напруги" в первую очередь смотреть.
Отдельный лазер?  Или весь настроенный оптический блок?
Там еще чистить, мыть "фейрями" всякими балуются. Но все это туфта. Лучше, действительно, не париться и приобрести новый (БУ уже, думаю...). Сколько не мудрил с чистками, ничего не давало.
Более эффективно ток лазера немного увеличить. Но тоже это ненадолго.
  •  

goblin944

Весь блок . А мыть и чистить-себе дороже и бесполезно если не хуже. Разве дунуть из балоника со сжатым воздухом.
  •  

ass1995

Дело такое. Установил эмулятор "Linux Demo in Bochs 2.6.7" для "Linux". При запуске открывается окно с текстом:
Spoiler
PS/2 auxiliary pointing device detected -- driver installed.
loop: registered device at major 7
hda: Generic 1234, 10MB w/256kB Cache, LBA, CHS=306/4/17
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Floppy drive(s): fd0 is 1.44M, fd1 is 1.44M
Started kswapd v 1.4.2.2
FDC 0 is a 8272A
Partition check:
hda: hda1
VFS: Mounted root (ext2 filesystem) readonly.
Mar 19 19:15:30 init[1]: version 2.4 booting
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
Mounting remote file systems...
INET: syslogd
Mar 19 19:15:31 init[1]: Entering runlevel: 4



Welcome to DLX V1.0 (C) 1995-96 Erich Boehm
                    (C) 1995    Hannes Boehm


dlx login: root
Linux 1.3.89.
dlx:~#
[close]
. Мне нужно создать нового пользователя, чтобы потом выполнить определённые действия.

Подскажите, какую команду надо использовать для этого?
  •  

admin

  •  

ass1995

Читал. Дело в том, что я так уже пробовал зарегистрировать. Но мне выдаёт: useradd: command not found
  •  

admin

  •  

pavlo_r

Коротка історія з категорії "І так кожного разу".
Хто користується Ubuntu (нє, ну раптом хтось користується:) ) знає, що з коробки це така хрєнь, яка потребує серйозної обробки напилником
вона запускається з такою мозолистою фігнею як "Гостьовий сеанс", який дозволяє зайти в систему без пароля. Через стандартні налаштування гостьовий профіль не відключається, але за допомогою додавання чарівного рядка «allow-guest=false» в конфігураційний файл LightDM, вирубується на ура і Guest Session, по-ідеї, більше не буде муляти очі. Як виявилося, до пори до часу. Після останнього оновлення ця фігня увімкнулася у мене знову. Не довго думаючи я пішов в Google згадувати, де знаходиться той самий lightdm.config. І от тепер руки б відірвати тому ідіоту, який написав інструкцію відключення гостьового входу для Ubuntu 13.04 і нижче, в темі присвяченій Ubuntu 14.04. Мене теж можна похвалити за швидкість прийняття рішень... Одним словом, я просто виконав в терміналі команду, яка сама прописала все куди слід. Біда в тому, що так як інструкція була для старішої версії системи - то те саме «куди слід» знаходиться у мене трохи в іншому місці. В результаті після перезавантаження система відмовилася «заводитись» і викинула з ходу на екран помилку типу «я не знаю, де графічний модуль (тобто дисплей!), давай спробую запуститися з низькою графікою». Насправді після цього вона могла тільки вимкнутись, так як висла намертво. Врятувало те, що під рукою була завантажувальна флешка з образом свіжої 15.04 (яку я вирішив поки не ставити, а ознайомитися в живому режимі). З її допомогою вдалося відкотити все взад і зробити потім правильно. Перший раз, коли я вчудив над системою такий жарт - пощастило менше. Тоді я ще не знав про зміни в розташуванні системних файлів і після відключення гостьового сеансу ще довгий час займався різного роду налаштуваннями. Тому, коли після перезавантаження система здохла - найлогічнішим кроком здавалася її переустановка, а отже й конфігурація всього спочатку.
  •  

ass1995

Нужна помощь. Вот код программы, которая ищет слово с максимальной длиной и выводит его на экран.
Spoiler
#include <iostream>
#include <cstring>
using namespace std;

int main()
{

    char string[200];

    cout << "Введите строку:\n";
    cin.getline(string,200);

    char * pch = strtok (string," "),  // получаем первое слово
         * word = 0; // самое длинное слово

    int length = strlen(pch);          // определяем длинну первого слова

    int maxLen = 0; // самое длинное слово

      while (pch != NULL)                         // пока есть слова
      {
          length = strlen(pch);        // определяем длинну слова

          if (maxLen < length )        // определяем самое длинное слово
          {
              maxLen = length;
              word = pch;              // сохраняем указатель на текущее слово
          }

          pch = strtok (NULL, " "); // получаем следующее слово
      }

      cout << "Самое длинное слово: " << word
           << " , его длина равна: " << maxLen
           << " символам " << endl;

    return 0;
}
[close]

Программа работает нормально, но есть одно НО: если в строке слов с максимальной длиной 2 и более, программа выводит только первое. А мне нужно, чтобы все выводило. Как это сделать?
  •  

admin

ты имеешь право использовать массивы в этой задаче?
если да то декларируешь массив из скажем 20 элементов.
и вместо того что бы держать в word указатель на самое длинное слово держишь в первом элементе массива, второе слово одинаковое с первым держишь во втором элементе массива и тд
иначе просто декларируешь несколько указателей, держишь счётчик на количество самых длинных слов, и не забываем абнулировать всё, если у тебя скажем такая фраза "ф фф фф ф фф ффф ф ффф".
Также отдельной строкой стоит эффективность алгоритма. В два прохода ответ или в один.
  •  

ass1995

Можно использовать всё, кроме string.h.
  •  

admin

тогда массив и вперёд
  •  

ass1995

Зафигачил прогу так:
Spoiler
#include <iostream>                               //08
#include <cstdio>                                 //09
#include <cstring>                                //10
                                                  //11
using namespace std;                              //12
                                                  //13
int main()                                        //14
{                                                 //15
    char str[100]; // Хранение исходной строки    //16
    int count = 0; // Счётчик цикла               //17
    int max = 0;   // Максимальная длина слова    //18
    int id = 0;    // Идентификатор               //19
    int len;       // Длина строки                //20
    int i;         // Переменная цикла            //21
                                                  //22
    // Ввод символов                              //23
    cout << "Введите строку слов:\n";             //24
    cin.getline(str, sizeof(str));                //25
                                                  //26
    // Нахождение длины строки                    //27
    len = strlen(str);                            //28
                                                  //29
    // Поиск слова максимальной длины             //30
    for (i = 0; i < len; i++)                     //31
    {                                             //32
        if(str != ' ') count += 1;                //33
        else                                      //34
        {                                         //35
            if (count > max)                      //36 ?
            {                                     //37
                max = count;                      //38
                id = i - count;                   //39
            }                                     //40
                                                  //41
            count = 0;                            //42
        }                                         //43
    }                                             //44
                                                  //45
    if (count > max)                              //46 ?
    {                                             //47
        max = count;                              //48
        id = i - count;                           //49
    }                                             //50
                                                  //51
    max += id;                                    //52
                                                  //53
    // Вывод слова максимальной длины             //54
    cout << "\nСамое длинное слово:" << endl;     //55
                                                  //56
    for (i = id; i < max; i++)                    //57
    {                                             //58
        putchar(str);                             //59
    }                                             //60
                                                  //61
    return 0;                                     //62
}                                                 //63
[close]

Выводит опять только одно слово, но с одним отличием. Там, где стоят вопросительные знаки, когда стоит просто > - прога выводит первое слово. Если стоит >= - последнее. Думаю, там и кроется проблема.
  •  

admin

Spoiler

#include <iostream>
#include <cstring>
using namespace std;


int main()
{


    char string[200];


    cout << "??????? ??????:\n";
    cin.getline(string,200);


    char * pch = strtok (string," "),  // ???????? ?????? ?????
         * word = 0; // ????? ??????? ?????
    char *test[100];
    int count=0;


    int length = strlen(pch);          // ?????????? ?????? ??????? ?????


    int maxLen = 0; // ????? ??????? ?????


      while (pch != NULL)                         // ???? ???? ?????
      {
          length = strlen(pch);        // ?????????? ?????? ?????


          if (maxLen < length && length>0)        // ?????????? ????? ??????? ?????
          {   count=0;
              maxLen = length;
              word = pch;
              test[count] =pch;
              cout << "\nless";           // ????????? ????????? ?? ??????? ?????
          } else
          if (maxLen == length && length>0)        // ?????????? ????? ??????? ?????
          {   count++;
              maxLen = length;
              word = pch;
              test[count] =pch;
              cout <<"\nequal";            // ????????? ????????? ?? ??????? ?????
          }


          pch = strtok (NULL, " ");
          }
          cout << "\nNumber of entries is " << count+1 << ", maxLenght is " << maxLen <<" and entries are ";
          for(int i=0;i<=count;i++){
                   cout << "\n" << test << " and index is " << i;}
          cout << "\n";
         
    //return 0;
    system("pause");
}
[close]



если что непонятно, спрашивай
  •  

ass1995

Завтра проверю, когда буду за компом. Сравнил свой код с твоим. Некоторые мысли появились (где мне надо подправить свой код), но всё узнаю завтра.
  •  

admin

ну у меня пашет, я протестировал.
(по вопросам элегантности это не ко мне)
  •