Студентам с лабораторными сюда (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 20 Jun 2007.

Thread Status:
Not open for further replies.
  1. F&D

    F&D Member

    Joined:
    6 Nov 2008
    Messages:
    341
    Likes Received:
    8
    Reputations:
    5
    Спасибо за сслыки, но это слегка не то. Я наверно не правильно объяснил...
    Но все равно спасибо!
    Трехмерная это наверно бред, но нам так препод сказал. А выглядеть всё должно в текстовом режиме, допустим выводит:
    какая команда атакует?
    1
    кто стреляет?
    4
    координаты?
    2,5,6

    тип такого... и еще писать надо на С++, либо на Kate(ну это если под Линукс)... =(
     
  2. pixelm

    pixelm Elder - Старейшина

    Joined:
    4 Jan 2008
    Messages:
    26
    Likes Received:
    6
    Reputations:
    0
    Ошибки при компиляции.
    [​IMG]
     
  3. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    зайди в Options->Directories и пропиши правильные пути к нужным папкам(INCLUDE и LIB)
    Желательно перенести папку с TC из Program Files на диск C, по моему у компилятора были траблы с именами, содержащими пробел.
     
    #1323 fker, 27 Apr 2009
    Last edited: 27 Apr 2009
    1 person likes this.
  4. frostJKE

    frostJKE New Member

    Joined:
    15 May 2008
    Messages:
    9
    Likes Received:
    1
    Reputations:
    0
    Помогите пожалуйста с 2-мя лабораторными...
    вот само задание:1. Ввести строку с клавиатуры, заменить все большие латинские символы на малые.
    2. Русское слово разбить по слогам.
    Нужно написать на С++. Заранее благодарен
     
  5. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>/*библиотека, содержащяя прототип ф-и strlwr(которая преобраз. все буквы верхн. регистра, содержащиеся в строке в нижний*/
    void main()
    {
    char str[100];
    gets(str);
    printf("%s", strlwr(str));
    getch();
    }
    
    в с++ сам переделаешь, если конешно знаешь чем отличатся С от С++ =\
     
  6. pixelm

    pixelm Elder - Старейшина

    Joined:
    4 Jan 2008
    Messages:
    26
    Likes Received:
    6
    Reputations:
    0
    Помогло. Ошибки ушли :)
    Но слова на "к" мы должный вводить с клавиатуры.
    может эту строку изменить на scanf с парметрами?
    как лучше сделать?
    char string[] = "kakashko lol kaka pipec;";
     
  7. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    2pixelm scanf не подойдет, т.к. она чувствтельна к пробелам.
    char string[100];
    gets(string);//ввод строки
     
    #1327 fker, 27 Apr 2009
    Last edited: 27 Apr 2009
  8. sebay

    sebay Member

    Joined:
    9 Mar 2009
    Messages:
    26
    Likes Received:
    22
    Reputations:
    0
    подскажите пожалуйста как расположить эти вершины(точки) в окружнсть
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <time.h>
    #include <math.h>
    #include <stdlib.h>
    
    // структура "точка"
    struct Scoord
    {
     double x;
     double y;
    };
    
    const int LMAX=0, RMAX=30, TMAX=24, BMAX=0;
    
    int N;
    
    
    double Smin;  // сюда запишем минимальную сумму
    int *minPath;  // здесь будет минимальный путь
    double **matr;  // матрица, где будем хранить длины ребер
    Scoord *mas;  // массив точек
    
    // рекурсивная функция для поиска пути.
    // принимает указатель на текущий путь (который формируется с каждым вызовом)
    // порядковый номер текущей вершины и текущую сумму ребер
    void getMinPath(int *tekPath, int tek, double tekS)
    {
    
    if(tek==N)  // если перебрали все вершины
     {
      if(tekS<Smin || Smin==0)  // и если текущая сумма меньше той, которую запомнили
       {
        Smin = tekS;  // запоминаем
        for(int j=0; j<N; j++)
         minPath[j] = tekPath[j];  // и запоминаем путь
       }
      return;
     }
     // иначе...
     bool b;
     for(int i=0; i<N; i++)  // перебираем все вершины
     {
      b = false;  
      for(int j=0; j<tek; j++)  // смотрим, нет ли текущей вершины в уже сформировавшемся пути
       if(tekPath[j]==i) b=true;  // если есть, ставим флаг
      if(b) continue;  // если флаг установлен, пропускаем вершину и берем следующую
    
     tekPath[tek] = i;  // добавляем вершину к пути
    
     getMinPath(tekPath, tek+1, tekS+matr[tekPath[tek-1]][i]);  // и ищем следующую вершину
    
     }
    
    }
    //-----------
    
    // функция для заполнения матрицы
    // принимает указатель на матрицу
    void fillMatr(double **matr)
    {
     int i,j;
     double dlina;
     for(i=0;i<N;i++)
      for(j=0;j<N;j++)
       if(j==i) continue; 
       else
        {  // для двух разных вершин считаем длину ребра
         dlina = sqrt(pow(mas[i].x-mas[j].x,2)+pow(mas[i].y-mas[j].y,2));
         if(dlina<matr[i][j] || matr[i][j]==0)
          matr[i][j] = dlina;
        }
    }
    //----------------------
    
    
    int main()
    {
    int i,j;
    int *tekPath;
    
    srand(time(NULL));
    printf("Vvedite kolichestvo vershyn: ");
    scanf("%d",&N);
    
    // выделяем память под массив вершин
    mas = new Scoord[N];
    for(i=0;i<N;i++)
     {
      //  разбрасываем точки
      mas[i].x = x*sin(pi*i/n);
      mas[i].y = y*cos(pi*i/n);
      printf("To4ka %d: %5.3lf  %5.3lf\n",i,mas[i].x,mas[i].y);
     }
    printf("\n");
    //==================
    // выделяем память под матрицу
    matr = new double*[N];
    for(i=0;i<N;i++)
     matr[i] = new double[N];
    
    
    // память под минимальный и текущий пути
    tekPath = new int[N];
    minPath = new int[N];
    
    Smin = 0;
    for(i=0; i<N;i++)
     for(j=0;j<N;j++)
      matr[i][j] = 0;
    fillMatr(matr);  // заполняем матрицу
    
    // ищем минимальный путь
    for(i=0; i<N; i++)  // в цикле перебираем стартовые вершины
     {
      tekPath[0] = i;
      getMinPath(tekPath, 1, 0);
     }
    
    printf("\n Minimalnaya summa = %5.3lf\n\n",Smin);
    
    printf("derevo:\n");
    printf("%d",minPath[0]);
    for(i=1;i<N;i++)
     printf(" -> %d",minPath[i]);
    printf("\n");
    
    
    for(i=0;i<N;i++)
     delete[] matr[i];
    delete[] matr;
    delete mas;
    
    delete[] minPath;
    delete[] tekPath;
    
    getch();
    return 0;
    }
    
     
  9. SHAXID

    SHAXID Elder - Старейшина

    Joined:
    13 Dec 2007
    Messages:
    24
    Likes Received:
    17
    Reputations:
    -6
    Помогите, пожалуйста, разработать программу нахождения значения определенного интеграла методом Симпсона (на паскале).
    Вот, собственно, функция для интегрирования:

    y=log3(внизу)х (х+х^2)^-1 .


    Исходные данные: интервал интегрирования, количество разбиений отрезка.
    Результат нужно получить такой: значение интеграла, график заданной функции.

    Решение интерпретировать графически (автоматическое масштабирование, название графика, метки на осях и обозначение осей).
    Также нужно предусмотреть переключение между графическим и текстовым окнами для ввода исходной информации и вывода результатов интегрирования и графической интерпретации. И предусмотреть проверку корректности данных.
     
    #1329 SHAXID, 28 Apr 2009
    Last edited: 29 Apr 2009
  10. Flame of Soul

    Flame of Soul Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    185
    Likes Received:
    146
    Reputations:
    45
    Взятие интеграла методом Симпсона

    A, B - интервал интегрирования
    N - число точек на интервале
    Func - функция, от которой берется интеграл.
    Возвращаемое значение - значение интеграла


    PS: сделано на Delphi (указывайте среду программирования)

    PHP:
    type
      TFunction 
    = function(XExtendedArgPointer): Extended;

    function 
    Simpson(ABExtendedNCardinalFuncTFunctionArgPointer):
      
    Extended;
    var
      
    hExtended;
      
    XExtended;
      
    KExtended;
      
    IInteger;
    begin
      Assert
    (0);
      
    := 0.5 * (A) / N;
      
    Result := Func(AArg);
      
    := h;
      for 
    := 1 to 2 do
      
    begin
        
    if I mod 2 0 then
          K 
    := 2
        
    else
          
    := 4;
        
    Result := Result Func(XArg);
        
    := h;
      
    end;
      
    Result := Result Func(BArg);
      
    Result := Result 3;
    end;
     
  11. Micr0b

    Micr0b Elder - Старейшина

    Joined:
    14 Jan 2006
    Messages:
    223
    Likes Received:
    168
    Reputations:
    26
    На уроке с системного програмирования мне задали зделать лабу. Задание Розроботать програму для передачи сообщения через локальную сеть с интерфейсом. Лаба должна усуществляца на
    Borland C++.
    Могу сказать что нужно только строка для ввода айпи строка для сообщения и кнопка отправки.
    Буду очень рад.
     
  12. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    когда уже научитесь гуглом пользоватся?
    копай в сторону winsock api
     
  13. KaZ@NoVa

    KaZ@NoVa Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16


    Это на дельфи,
    тебе придётся слегка подправить запись и чтение из файла, просто вроде в паскале нельзя так обращаться легко как в дельфи, но это буквально вроде минут на 5 должно быть
     
    #1333 KaZ@NoVa, 28 Apr 2009
    Last edited: 28 Apr 2009
    2 people like this.
  14. KaZ@NoVa

    KaZ@NoVa Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    На Borland C++ её делать это несколько неправильно на Buildere еще можно договориться. на делфе есть такая же готовая!!!!!
     
    1 person likes this.
  15. SHAXID

    SHAXID Elder - Старейшина

    Joined:
    13 Dec 2007
    Messages:
    24
    Likes Received:
    17
    Reputations:
    -6
    оу, ссори, на паскале нужн :(
     
  16. ZorGan

    ZorGan New Member

    Joined:
    28 Apr 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Добрый день, вот задали 2 задачки
    Условие
    Найти значение переменной у после выполнения программы на языке Pascal.

    [​IMG]
    и еще вот эту:
    Пожалуста объясните как решать,очень нужно :)
     
  17. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    Самое простое это скомпилировать код и посмотреть на результат.
    В первом примере смысл такой:
    в цикле проверяем строку х(БАРАН), если встречаем символ 'A' то заносим в строку у 0А, иначе в у заносим символ содерж в х на i-ом месте.
    В результате выполнения у='БОАРОАН'
     
  18. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Ответ: B0AR0AN
    Ответ: -1754
    Просто загнать в паскаль/делфи и скомпилировать
     
  19. ZorGan

    ZorGan New Member

    Joined:
    28 Apr 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    спасибо, но просто мне надо ее решать письменно-это задание одного из вариантов моего теста, который мы решаем не на компьютерах,а просто в аудиториях...
    если не сложно объясни как у тебя получилось -1754
     
  20. oOoOoOo

    oOoOoOo Banned

    Joined:
    23 May 2008
    Messages:
    39
    Likes Received:
    45
    Reputations:
    -7
    Кому не трудно и кто умеет писать на паскале , нужно сделать вот такую задачку:

     
Thread Status:
Not open for further replies.