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

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

Thread Status:
Not open for further replies.
  1. jaevg

    jaevg New Member

    Joined:
    7 Dec 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Помутил немного, остался один штрих, который вообще мне чото не по зубам.
    Нужно как-то организовать перемножение элементов из файла по заданию(у меня переменная zp в функции work)

    HTML:
     #include <stdio.h>
     #include <string.h>
     #include <windows.h>
     #include <conio.h>
     #include <iostream>
     using namespace std;
     
     char bufRus[256];
      char* Rus(char* mes)
      { AnsiToOem(mes, bufRus);
        return bufRus;
       }
     
    const int l_name = 30;
     
     struct Man
      { char name[l_name];
            int rtab;
            int tarif;
            float timech;
      };
     
    int compare(const void *manl, const void *man2);
     
    // Создание файла
     
    void create()
    { Man man; int pr; FILE *fbin;
      if ((fbin =fopen("dbase.bin","wb")) == NULL)
       { puts(Rus("Ошибка создания  файла\n "));
       getch();
       }
      else
            { do
               { cout << Rus("\n Фамилия и инициалы: ");
                     cin.get() ; gets (man.name) ;
                     cout << Rus("\n Табельный номер: ");
                     cin >> man.rtab;
                     cout << Rus("\n Количество отработанных часов за месяц: ");
                     cin >> man.timech;
                     cout << Rus("\n Почасовой тариф: ");
                     cin >> man.tarif;
                     fwrite(&man, sizeof(man),1,fbin);
                     cout<<Rus("\n Продолжить ввод? (1-да/0-нет)");
                     cin >> pr;
                     } while(pr == 1);
       }  
      fclose(fbin);
    }
     
    // Просмотр файла
     
    void view()
      { FILE *fbin;
            if ((fbin =fopen("dbase.bin","rb")) == NULL)
             { puts(Rus("Ошибка открытия  файла\n"));
               getch();
             }
            else
             { fseek(fbin, 0, SEEK_END);
               int n_record = ftell(fbin)/sizeof(Man);
               Man *man = new Man[n_record];
               fseek(fbin, 0, SEEK_SET);
               fread(man, sizeof(Man),n_record, fbin);
               fclose(fbin);
               qsort(man, n_record, sizeof(Man), compare);
               for (int i=0; i < n_record; i++)
                    cout << "\n" << man[i].name << "  " <<
                     man[i].rtab << "  " << man[i].timech << "  " << man[i].tarif;
                    cout << "\n";
                    getch();
             }
      }
     
    // Обработка файла
     
     void work()
      { char z_name[l_name];
          int zp;
            FILE *fbin;
            if ((fbin =fopen("dbase.bin","rb")) == NULL)
             { puts(Rus("Ошибка открытия  файла\n"));
               getch();
             }
            else
             { fseek(fbin, 0, SEEK_END);
               int n_record = ftell(fbin)/sizeof(Man);
               Man *man = new Man[n_record];
               fseek(fbin, 0, SEEK_SET);
               fread(man, sizeof(Man),n_record, fbin);
               fclose(fbin);
               qsort(man, n_record, sizeof(Man), compare);
    cout<<Rus("\nВведите фамилию и инициалы сотрудника:");
               cin.get();gets(z_name);
               for (int i=0; i < n_record; i++)
               { if (!strcmp(man[i].name,z_name))
                    cout <<  "\n" << man[i].name << "  " <<
                       man[i].rtab << "  " << man[i].timech << "  " << man[i].tarif;
            }
               cout << "\n";
               zp == man.timech * man.tarif;
               cout << "  " << zp;
               getch();
             }
     }
     
    int main()
     { int num;
       do
            { cout << Rus("\n 1 - Создание файла");
              cout << Rus("\n 2 - Просмотр файла");
              cout << Rus("\n 3 - Обработка файла");
              cout << Rus("\n 4 - Выход");
              cout << Rus("\n Ваш выбор: ");
              cin >> num;
              switch(num)
               { case 1: create();break;
                     case 2: view();break;
                     case 3: work();break;
               }
            } while (num != 4);
       return 0;
    }
     
    int compare(const void *manl, const void *man2)
    { 
       return strcmp(((Man *)manl)->name,
    ((Man *)man2)->name);
     }
     
  2. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Кто может помочь решить задачу по олимп.программированию?
    Задача тут:
    h_tp://pastebin.ru/316003

    Не привык просить кого то сделать, что то за меня, но просто сейчас нет времени, а надо к утру. Буду признателен, возможно оплачу.
     
  3. sToryTeller

    sToryTeller New Member

    Joined:
    28 Nov 2010
    Messages:
    12
    Likes Received:
    3
    Reputations:
    0


    да и ещё с типом не совсем уверен
     
  4. jaevg

    jaevg New Member

    Joined:
    7 Dec 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    И всё же чот компилятор ругается на этой строке: zp == man.timech * man.tarif; )
    `timech' has not been declared
    `tarif' has not been declared
     
  5. spitfire3271

    spitfire3271 New Member

    Joined:
    13 Nov 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    123

    Написать программу, реализующую метод Гаусса-Жордана (остается только гл.диаг матрицы) для n ур-ий c n неизвестными
     
  6. sToryTeller

    sToryTeller New Member

    Joined:
    28 Nov 2010
    Messages:
    12
    Likes Received:
    3
    Reputations:
    0
    во первых какой язык?
    во вторых какие проблемы возникли?
    в третьих не ожидай что здесь за тебя код весь напишут
     
  7. _DemiX_

    _DemiX_ New Member

    Joined:
    25 May 2010
    Messages:
    51
    Likes Received:
    1
    Reputations:
    0
    spitfire3271, напиши хотябы на каком языке!
     
  8. Пётр

    Пётр Elder - Старейшина

    Joined:
    14 May 2006
    Messages:
    27
    Likes Received:
    5
    Reputations:
    0
    Пацаны есть курить у кого? сигаретку одну
     
    1 person likes this.
  9. spitfire3271

    spitfire3271 New Member

    Joined:
    13 Nov 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    на паскале, математически все понимаю как сделать
    не понимаю лишь того как на языке описать!
     
  10. Rastor

    Rastor New Member

    Joined:
    3 Aug 2010
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Привет всем.я уже тут как то писал но данный ответ меня не устроил((.Напишите пожалуйста программу:


    1)Определить упорядочены ли столбцы массива по невозрастанию.
    А да,массив должен вводить сам пользователь,и этот массив должен высвечиваться на экран в виде матрицы.
    Пример:

    1 2 3
    4 5 6
    5 7 8
    0 4 5
    Массив не упорядочен
     
    #3150 Rastor, 11 Dec 2010
    Last edited: 11 Dec 2010
  11. sToryTeller

    sToryTeller New Member

    Joined:
    28 Nov 2010
    Messages:
    12
    Likes Received:
    3
    Reputations:
    0
    невозрастание - это убывание (для справки)

    зы нашёл ответ :

    2)
    for (j = 0; j<m; j++)
    {
    sort = true;
    for (i:=1; i<n; i++)
    if (a[i-1][j] > a[j]) sort = false;
    if ( !sort ) printf("bla bla ne yporzdochen");
    }

    чем тебя ответ не удовлетворяет конкретно?
     
  12. Rastor

    Rastor New Member

    Joined:
    3 Aug 2010
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    смотри.у меня ессть вот этот код для вывода массива на экран

    #include<stdlib.h>
    #include<stdio.h>
    #include<iostream.h>
    #include<conio.h>
    #define N 3

    int main(){
    int mas[N][N];
    int i, j;
    /* заполнение массива */
    for ( i = 0; i < N; i++ ){
    for ( j = 0; j < N; j++ ){
    printf("mas[%d][%d] = ", i, j);
    scanf("%d", &mas[j]);
    }
    }


    printf("\n-----------------------\n");


    /* вывод в виде матрицы */

    for ( i = 0; i < N; i++ )
    for ( j = 0; j < N; j++ )
    printf( ( j < (N - 1) ) ? "%d\t" : "%d\n", mas[j]);

    getch();
    }



    вот....а как туда вставить
    for (j = 0; j<m; j++)
    {
    sort = true;
    for (i:=1; i<n; i++)
    if (a[i-1][j] > a[j]) sort = false;
    if ( !sort ) printf("bla bla ne yporzdochen");
    }
    незнаю((((((
     
  13. SpRyt

    SpRyt Member

    Joined:
    18 Oct 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    5
    Посмотрите плис: https://forum.antichat.ru/threadnav242389-3-10.html Может вы знаете как решить эту проблемку? (кодик подскажите).
     
  14. Nogir15

    Nogir15 New Member

    Joined:
    28 Nov 2010
    Messages:
    11
    Likes Received:
    0
    Reputations:
    -1
    Операторы цикла!!!

    Пожалуйста напишите по одному примеру записи каждого оператора цикла!!С краткими к ним пояснениями!
     
    #3154 Nogir15, 11 Dec 2010
    Last edited by a moderator: 9 Feb 2011
  15. stail

    stail New Member

    Joined:
    11 Dec 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Можете помочь написать программу , сложность вызывает незнание программирования ) В Паскеле :
    Дана матрица с 2 строками и 10 столбцами. Рассматривая первый элемент столбца , как радиус окружности , а второй -как сторону квадрата , проверить для каждого столбца , вписывается ли квадрат в окружность и отпечатать стороны вписывающихся квадратов , а также их количесво .
     
  16. sToryTeller

    sToryTeller New Member

    Joined:
    28 Nov 2010
    Messages:
    12
    Likes Received:
    3
    Reputations:
    0
    HTML:
    [QUOTE=Rastor]смотри.у меня ессть вот этот код для вывода массива на  экран
    
    #include<stdlib.h>
    #include<stdio.h>
    #include<iostream.h>
    #include<conio.h>
    #define N 3
    
    int main(){
            int mas[N][N];
            int i, j;
            /* заполнение массива */
            for ( i = 0; i < N; i++ ){
                    for ( j = 0; j < N; j++ ){
                            printf("mas[%d][%d] = ", i, j);
                            scanf("%d", &mas[i][j]);
                    }
          }
    
    
            printf("\n-----------------------\n");
    
    for (j = 0; j<N; j++)
    {
    sort = true;
    for (i:=1; i<N; i++)
    if (a[i-1][j] > a[i][j]) sort = false;
    if ( !sort ) printf("bla bla ne yporzdochen");
    }
    
    
            /* вывод в виде матрицы */
    
            for ( i = 0; i < N; i++ )
                    for ( j = 0; j < N; j++ )
                            printf( ( j < (N - 1) ) ? "%d\t" : "%d\n", mas[i][j]);
    
            getch();
    }
    
    
     
    вот....а как туда вставить
    
    незнаю(((((([/QUOTE]
    -_- ты вообще что на парах делаешь? учебник читать начни.
     
  17. Rastor

    Rastor New Member

    Joined:
    3 Aug 2010
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    да вставлял я так.ошибку выдает((((((((
     
  18. V1rtyoz

    V1rtyoz New Member

    Joined:
    11 Dec 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Pascal

    Прошу помочь с 4-мя лабораторными работами на языке Pascal:
    1. Использовать Цикл-ПОКА и/или цикл-ДО. Разработать:
    а) k/((k+1)^2+3)
    программу вычисления суммы первых членов заданого ряда (k=1,2,3,..,n)
    б) arctg x=x - x^3 / 3 + x^5 / 5 - x^7 / 7+...+ (-1)^n-1 * x^2n-1 / 2n-1 + ...
    программу вычисления суммы всех членов ряда, не меньших заданого числа E=10^-6

    2. Разделить все элементы с четными номерами на первый элемент.

    3. Задана строка символов. Между двумя задаными символами Ch1 и Ch2 вставить *. Определить сумму кодов символов до вставки. Ch1 и Ch2 вводим с клавиатуры.
    Пример: ch1='a' ch2='b'
    аб01abnzabaabb
    новая строка: аб01a*bnza*baa*bb

    4. Распечатать диагональ матрицы с максимальной суммой элементов


    PS за помощь закину денюшку :) Мои координаты: (Skype) - v1rtyooz; (ICQ) - 355601015, (Почта) - [email protected]
     
    #3158 V1rtyoz, 12 Dec 2010
    Last edited: 12 Dec 2010
  19. sToryTeller

    sToryTeller New Member

    Joined:
    28 Nov 2010
    Messages:
    12
    Likes Received:
    3
    Reputations:
    0
    конечно выдаёт ошибку,объяви переменную булевского типа...
     
  20. #Urfan

    #Urfan New Member

    Joined:
    9 Dec 2010
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Задача называется Квадраты , тема Работа с файлами:
    Дан файл действительных чисел, каждая тройка чисел определяет на плоскости квадрат со сторонами, параллельными координатными осями, причем первые два числа определяют координаты центра квадрата, а третье число-длину его стороны. Определить, имеются ли на плоскости точки, принадлежащие всем квадратам.
    -----------------------------------------------------------------------------------
    Очень нужна помошь,прога на С.До завтра должен сдать,буду благодарен если кто решит
     
Thread Status:
Not open for further replies.