Премини към съдържанието

Препоръчан отговор


Здравейте имам следната задача да я направя, но не знам как се прави. Ще съм ви много благодарен, ако някой ми помогне и ги направи. http://prikachi.com/images/890/8424890E.jpg

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Курсын ажил Сонголт 15
1-р цэс чиг үүрэг дамжуулан үйл ажиллагаа үндсэн ард хөтөлбөр () болон сонголт бичих
25 багш тоо, нас, хүйсийн (бүхэл төрөл нь - - бүлгийн оюутнуудад зориулж шинэ хэрэг бүртгэлт, мэдээлэл оруулахыг нэмж нь массив дахь гар а) танилцуулга. 1-р эр хүн нэг эмэгтэйд 0)
б) дундаж нас (эрэгтэй, эмэгтэй) нь хоёр тусдаа хоёр хэмжээст массив, тодорхойлох нь эрэгтэй, эмэгтэй мэдээллийг дарах ба массив нь агуулга, дэлгэц дээр үр дүнг харуулдаг.
в) залуу оюутан тодорхойлох бөгөөд дэлгэц дээр нас дэлгэцийн үр өсөх дарааллаар оюутнуудад зориулсан мэдээллийг зохион байгуулах,
г) Тухайн багш нар хэдэн товчлуурын оюутны оруулах массив хайх, түүний мэдээллийн дэлгэц, эсвэл багш нар олон массив дахь сураггүй алга болсон гэсэн мэдээлэл гарч.Шинэ хайх нь хүсэлтийн хайлт үргэлжлүүлэн
Ард 2. Онцлог програм бич:
а) нэмж массив дахь файл нь гар танилцуулга () өгөгдөл автобусны (35) - Varna Автобусны буудал, зам, өдөр (1 31), автобус, гэр бүлийн жолооч, зорчигчдын тоо, тийзний үнийн тоо Нийт тасалбар - массив (файлын болдог), дэлгэцийн долдугаар сарын Үр дүн нь одоогийн агуулга,
б)) нь шинэ Лавлагааны зориулалтаар хүсэлтийг нь (сард сонгогдсон өдрийн турш бүх урсгалын талаар мэдээлэл харуулна
в) хэмжээгээр буурах дарааллаар тэдэнтэй хамт явуулсан илгээмжийг авсан автобусны тоо, нийт тасалбар харуулна
Үндсэн үйл ажиллагаа mainQ - цэс сонгон шалгаруулах үйл ажиллагаа, мэдээллийн статусыг шалгах хэрэгтэй.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

...

Не е ли забранено да се пише на друг език освен Български във форума? :D

Редактирано от frozener (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Нали е на кирилица? Пък и авторката не е уточнила на какъв език да бъде така, че и го написах на монголски.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
#include<iostream>
#include<string>
using namespace std;

int main(){

    
    int totalStudents;
    double sum = 0;

    cout << "Въведи броя на студентите: "<< endl;
    cin >> totalStudents;
    
    // Съхрани имената и годините в масиви
    
    char studentName[2][totalStudents];
    int studentAge[totalStudents];

    cout << "Въведи име на студентите: " << endl;
    for(int i=0; i< totalStudents; i++){
    
        cin >> studentName[i];
    
    }
    
    // Намери средната възраст
    
    cout << "Въведи възрастта на студент/ка " << endl;
    for(int i = 0; i<totalStudents; i++){
    
         
         cin >> studentAge[i];
        sum = sum + studentAge[i];
    
    }
    
    double average = sum / totalStudents;
    
    cout << "Средната възраст на студентите е: " << average << endl;
    


    return 0;
}

Откъс от курсовата ти, за да ти помогне за насока. Това, което съм написал е примерен код не е универсално решение. Компилирал съм го и работи, но с по-малък размер на масива, защото на Мак се получава Segmentation fault и трябва да се заделя памет за низ-а(Не знам как е при вас уиндоусчии).

Редактирано от frozener (преглед на промените)
  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
(Не знам как е при вас уиндоусчии).

Това е до компилатор, не до OS... И то не щото броя на студентите е голям, ами най-вероятно не поддържа такова динамично заделяне, и ти си пишеш през просото, дори и за 1... Ако сложиш броя на студентите да е константа ще си работи.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
 

Използвам g++ compiler на Mac OS.

След като се замислих за твоето твърдение потърсих малко в StackOverflow и открих това твърдение, че е възможно ограничението на памет да идва от компилатора но и от хардуера. Трета моя си теория да има някакъв проблем с програмната логика, но не съм сигурен в моя код.

Без коментар...:whist:

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Без коментар...:whist:

Защо? Моля обясни?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Масива със имената на студентите що е

char studentName[2][totalStudents];

А не например:

char studentName[totalStudents][NAME_LEN];

Имам предвид хем подредбата, хем числото 2.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Не знам при Мака колко е стека, ама преди време бях се пробвал да го запълвам и се оказа доста голям - повече от  гигабайт и то при 32 битова програма с MinGW - така че по-скоро има някаква грешка в програмата отколкото да се препълни паметта от трийсетина стринга.

  • Харесва ми 2

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Масива със имената на студентите що е

char studentName[2][totalStudents];

А не например:

char studentName[totalStudents][NAME_LEN];

Имам предвид хем подредбата, хем числото 2.

Ми защото образува два реда и на тях се съхраняват имената също така, защото програмата не ми се компилира ако създам string array. Може ли сега аз да получа отговор защо си без коментар за това което си цитирал от отговора ми или ще бъдеш неуважителен?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ми защото образува два реда и на тях се съхраняват имената също така, защото програмата не ми се компилира ако създам string array. Може ли сега аз да получа отговор защо си без коментар за това което си цитирал от отговора ми или ще бъдеш неуважителен?

Ми защото не виждам защо трябва да коментирам, след като отговорът ти показва колко си се замислил над първият ми отговор. Вероятността да се замислиш над втория е същата.

Дори и на конкретно посочената грешка в програмата не си се замислил.

Например че в C и C++ char е един символ а не един низ. Че както си го написал ако го интерпретираш като масив от низове е масив от два низа с максимална дължина на всеки низ [брой студенти] символа, а не както вероятно си имал предвид, брой студенти елемента всеки от два низа. Затова и питах за подредбата...

тоест ако брой студенти ти е повече от две,

studentName[i]

ще предизвика segmentation fault.

А без коментар, е защото ти изваждаш твърдение, че е заради хардуера на PC (2015 година сме) може да нямаш няколко kB РАМ (тази програма, ако е написана сносно де, с успех ще върви и на 8088 базирана система за много студенти). И продължавам да смятам че подобно твърдение няма нужда от коментар.

Редактирано от flare (преглед на промените)
  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ми защото не виждам защо трябва да коментирам, след като отговорът ти показва колко си се замислил над първият ми отговор. Вероятността да се замислиш над втория е същата.

Дори и на конкретно посочената грешка в програмата не си се замислил.

Например че в C и C++ char е един символ а не един низ. Че както си го написал ако го интерпретираш като масив от низове е масив от два низа с максимална дължина на всеки низ [брой студенти] символа, а не както вероятно си имал предвид, брой студенти елемента всеки от два низа. Затова и питах за подредбата...

тоест ако брой студенти ти е повече от две,

studentName[i]

ще предизвика segmentation fault.

А без коментар, е защото ти изваждаш твърдение, че е заради хардуера на PC (2015 година сме) може да нямаш няколко kB РАМ (тази програма, ако е написана сносно де, с успех ще върви и на 8088 базирана система за много студенти). И продължавам да смятам че подобно твърдение няма нужда от коментар.

Segmentation fault получих и при string array. Ще си редактирам кода.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.