C/C++ :: Understanding Parallel Arrays And Displaying Them?
Apr 14, 2014
So the point in this code is to promt the user to enter a product ID. It then should search the ids array and display the corresponding price and quantity from the prices and quantities arrays. I'm sure this is quite simple but I am new to programming and having trouble understanding arrays. All it is doing is giving me the first subscript when I input a -1.
//Advanced34.cpp - displays the price and quantity
//associated with a product ID
//Created by Scott Knight on April 12, 2014
#include <iostream>
using namespace std;
int main() {
//declare arrays and variables
int ids[5] = {10, 14, 34, 45, 78};
I have a module that pings the network to find available devices using threading.
the money line:
var valids = range.AsParallel().AsOrdered().Where(ip => ip.Ping()).ToList();
The problem is, I need to display a progress bar while this function runs. I have the progress bar implemented with a background worker, but it won't update while the ping module is executing. I *think* it's because I'm using the available threads for the ping module.
When the user clicks a button, I need the ping module to run while the progress bar updates, or even just set IsIndeterminite to true. What would be the best way to accomplish this?
I am trying to learn about parallel arrays and files. I believe that I wrote a program that properly writes the data of the arrays into a file, but I am not quite sure how to take the next step and make a second program by bringing in the file I created and reading the information of the file back into two arrays to display them.
#include <stdio.h> /* fopen, fclose */ #include <stdlib.h> /* exit function */ #include <string.h> /* string library */ #define STRSIZENAME1 41 /* length of name */ #define STRSIZENAME2 100 /* amount of names */ #define STRSIZEAGE 100 /* amount of ages */
/* Name: main */ int main(int argc, char* argv[]) { [Xode] ....
This is the code I have so far. The goal of the assignment is to sort two parallel arrays, one with names and another with their ages, at the same time to alphabetize them. I am stuck with trying to pull the data from the file itself and concatinating it. I have searched ways to do so and this is the best I understood. So the error is it will get me the first person's name, but it won't get the age and move to the next line in the file. It just keeps repeating the same thing and I can't figure out why.
I attached the sample file with names and ages to view the format of the text file itself.
PS the other defined variables are used later for sorting the data. right now I am just trying to get the data itself and put it in an array but between my book and the internet I can't seem to store the data properly. That is also why I am printing it in the while loop as well so I can see what my arrays look like but I will take that out too once I know the data is good
i'm facing some problems with the array, as I have my .h and .cpp files so do i declare them as per norm of how we usually declare a function?
pointtwod.h class PointTwoD { private: int xcord,ycord; float civIndex; LocationData locationdata;
[Code] ....
when i compile the error message i get was even when i i put in int xord[]; in my PointTwoD.h file:
PointTwoDImp.cpp:99:6: error: prototype for 'void PointTwoD::storedata(int*,int*,float*) does not match any in class 'PointTwoD'
PointTwoD.h:48:8: error: candidate is: void PointTwoD::storedata(int, int, float)
PointTwoDImp.cpp: 135:22: error: 'xord' was not declared in this scope PointTwoDImp.cpp: 135:27: expected primary-expression before ']' token PointTwoDImp.cpp: 135:30: error: 'yord' was not declared in this scope PointTwoDImp.cpp: 135:35: expected primary-expression before ']' token PointTwoDImp.cpp: 135:38: error: 'civ' was not declared in this scope PointTwoDImp.cpp: 135:42: expected primary-expression before ']' token
I am attempting to reconfigure a working code that before used while loops and if statements to convert a numeric score to a letter grade. I now wish to take this same code however I want to change the char convertGrade(int numScore) to simply use a parallel array as a replacement to the if statements.
The array needs to consist of 3 arrays of fixed size 5: int minScores[SIZE] int maxScores[SIZE] char letterGrade[SIZE]
I know the declarations need to go in the function convertGrade but this is the first time I have worked with arrays and I am having trouble trying to figure out how this array will replace my previous if statement.
In order to access the array elements I need to write specifications such as minScores[i] maxScores[i] letterGrade[i]
I am having a problem with my program to calculate the GPA of a student. The problem that I am having is that I am not able to get my Total Point Value to display the sum of the two arrays. The multiplication for the array is correct and will display correctly, but instead of putting the total into the accumulator it will display the totals in a column. I have tried moving the coding for the calculation out of the loop that converts the letter grade into a point value,and placing it in it's own loop, but I still get the same display output. Below is the code that I have so far. I still have a few elements to add to the code, but they will be easy once I get this display to work right.
#include <iostream> #include <iomanip> #include <fstream> using namespace std; // Global const // prototype int main () { // Varialbes, Arrays
Class programming project where we declare two arrays, a sting array containing the names of the boroughs and an int array which which holds accident number for each borough. The main function calls getNumAccidents() function to fill the array. it then calls findLowest() to learn which borough had the fewest accidents. It should print out the accident numbers for each borough and then out the borough and accident number with the fewest accidents.
I'm able to get the program to kind of work. When I run it everything works fine but I am not able to get the arrays to sort and match up correctly..
#include<iostream> #include<iomanip> #include<string> #include<cstring> using namespace std; class combineSort { public: combineSort() {
using namespace std; const int SIZE = 40; const int COLUMN = 5; void getData(ifstream& inf, string n[], double tstData[][COLUMN], int count);
[Code] .....
when I compile and run the code and have it display it does not read the first item into the 1-d array, instead it appears to read the 4th number from the left into the 1-d array and then into the second spot in the 2-d array, then again in its proper place and finally it has this number repeating through the rest of the arrays:
-92559631349317830000000000000000000000000000000000000000000.00 followed by the number 59.7 from the .txt and the long number again.
I've been working on an assignment that deals with newspaper advertisements. I have two arrays:
categoryCode (the code for the advertisement's category such as pets, cars, etc) and numWords (number of words in the ad).
The arrays are dynamic.
My assignment has the category listed each time there is an ad associated with it and then its number of words for that ad. If this were a real-world issue I would want my output to list each category only once despite how many ads were in it, list how many individual ads are in the category, and its total number of words for the ads in that category. When using parallel arrays, is there a way to do this?
Let's say I have categoryCode with three elements {5, 5, 7} and numWords {10, 12, 15}.
How would I make the numWords add together only when the categoryCode values are the same?
I would want the output to print: Category 5 Ads 2 Words 22 Category 7 Ads 1 Words 15
rather than how my instructor is having us do it like this: Category 5 Words 10 Category 5 Words 12 Category 7 Words 15
I think I'm getting hung up because my mind is confusing the element's location in the array with the element's actual value and I'm probably making this harder than it should be. How would I compare the categoryCode values in a dynamic array? If it were a fixed size I think I could just compare categoryCode[0] to categoryCode[1] and so on, right? But in this case I'm not sure how I would go about that.
In pseudocode and in C code, declare two 1-dimensional parallel arrays of Integers to store the age and weight of a group of people that will hold the information of up to 10 people. Use a For loop to iterate through the array and input the values. This is the code i have, but my array is showing up as 11 and not 10?
I'm currently working on a temperature conversion program using arrays / pointers as practice.
I will post the code below, its quite a bit lengthy and its also incomplete. Everything was going smoothly and I continually test my code as I write to completion, then I ran into a small road block.
My problem here is regarding the output from the first if statement in main. When I enter a value to convert from F to C. It successfully converts the first value I enter, but any other value after the first one during the loop in the first if statement, just shows long numbers of all sorts.
The output looks like this:
I kept checking the logic behind what I did, and for me it seems to be correct. Here is the code:
I try to ON and OFF the LED's via parallel port. I connect the cathode of LED's with pin number 18 that is ground and anode of each LED is connected through a 1K resistor to pin 2 to 8. I write the following programe
I started writing in c because I want to control relays with the parallel port, or anything else. Doesn't really matter what I use I just need to know where to start. Trying to send and receive data from the outside world with c programming on a GNU/Linux os? If so any good some what up to date resources online?
I'm trying to implement Parallel loop with OpenMP. I just googled and got the below sample, but it seems its not executing parallely. It takes same amount time for code which is with parallel and without parallel.
Without Parallel : It takes 39 secs. ----------------- for (int I=0;I<100000;I++){ cout<<I<<" "; }
With Parallel : It takes 39 secs. --------------
#include<omp.h> #pragma omp parallel { #pragma omp for for (int I=0;I<100000;I++) { cout<<I<<endl; } }
Why parallel is not working and it takes same time. My machine is Dual Core.
I'm wondering whether it's possible to implement MPI to execute a process in parallel from deep within a C++ solution.
I've created a solution on VS2005 that links to several static libraries, and within one of these libraries there is a set series of tasks that require execution many times - they're independent so I'd like them to execute them using MPI if possible to speed up the run time.
The pseudo-code is:
Code: for(i = 0; i < n; i++) // n is number of times to execute process { PerformTask(data[i]); // perform the tasks required for each iteration of process }
So, instead of conducting the tasks within PerformTask() in series n times, I want to split the array data between multiple processes such that they can each be allocated an even proportion of data to perform the tasks on. Pretty textbook reason for wanting MPI, right?
Now, I've read up and understood the basics of MPI implementation, but all the examples I've seen are called within the main() function of the program. But I need to do all this from within a static library, is this possible?
I've made some early attempts at implementing this, but get an error indicating the process wasn't initialised: "Error encounted before initializing MPICH", which I assumed would be due to trying to make the MPI calls outside of the main() function.
I generate a series of random numbers in parallel (using OpenMP), but depending on what number of threads I invoke, I get a different result. From that I conclude that I have made an error somewhere!
Here is the MWE, which generates a number between 0..1 and increments a variable if the generated variable is larger than 0.5:
Each processor is going to delete some of the assigned numbers.Is there a 'standard' technique for merging the arrayparts at the end of the parallel section (in pthreads)? If there are a neater way of doing this with lists Im also interested in that.
Example: After parallel section array is 1,3,6,etc
I need to take an unknown amount of sorted files and then output any number that is in at least half of them... I know I need to read in the files to a vector and then iterate through them all at the same time looking at the lowest number first and so on. But I am stuck at the point of taking an unknown amount of files and putting them in a container.
This is what I have so far but the vector isn't working and I think I should be putting each file into its own vector.
string get_file(string filename) { ifstream in(filename); if (in)
I'm working on a parallel Fortran program by using MPI, which calls a very good random number generator function from C (drand48 and srand48 for seed).
My Fortran program file "Par_PICFort_4.f95" is smt. like:
Code: PROGRAM main IMPLICIT NONE Include 'mpif.h'
[Code]....
I compile the code as: Code: mpif77 -o PIC Par_PICFort_4.f95 drand48.c Program seem to be running, but after checking the simulation results, I see that drand48 is not working in a parallel way. Creating independent random numbers which different seeds is very important for me.
Question: Is it possible to run the drand48.c file as parallel?